﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class РаботаСДиалогами
	{
		// Этот модуль предназачен для реализации алгоритмов работы форм и
		// содержит процедуры и функции работы с формами и элементами форм,
		// а также подготовки данных для представления информации в формах.
		// Временно присутствует секция поддержки формирования печатных форм.
		///////////////// ПРИ ИЗМЕНЕНИИ ////////////////////////
		// Процедура выполняет общие действия при изменнении даты документа
		//
		// Параметры:
		//  ДокументОбъект                 - объект редактируемого документа
		//  ВалютаРегламентированногоУчета - валюта регламентированного учета
		//  ФлагИзмененияКурса             - валюта регламентированного учета
		//

		public void ПриИзмененииЗначенияДатыДокумента(/*ДокументОбъект, ВалютаРегламентированногоУчета, ФлагИзмененияКурса = Неопределено*/)
		{
			//МетаданныеДокумента            = ДокументОбъект.Метаданные();
			//ЕстьВалютаДокумента            = МетаданныеДокумента.Реквизиты.Найти("ВалютаДокумента") <> Неопределено;
			//ЕстьДоговорКонтрагента         = МетаданныеДокумента.Реквизиты.Найти("ДоговорКонтрагента") <> Неопределено;
			//ПроверкаПоВалютеВзаиморасчетов = Ложь;
			//ФлагИзмененияКурса             = Ложь;
			/*// В некоторых документах нет валюты документа и договора.
*/
			if(true/*ЕстьВалютаДокумента*/)
			{
				if(true/*ЕстьДоговорКонтрагента*/)
				{
					//Договор = ДокументОбъект.ДоговорКонтрагента;
					if(true/*ЗначениеЗаполнено(Договор)*/)
					{
						//Валюта = Договор.ВалютаВзаиморасчетов;
						//ПроверкаПоВалютеВзаиморасчетов = Истина;
					}
				}
			}
			//ЕстьКурсДокумента           = (МетаданныеДокумента.Реквизиты.Найти("КурсДокумента") <> Неопределено);
			//ЕстьКратностьДокумента      = (МетаданныеДокумента.Реквизиты.Найти("КратностьДокумента") <> Неопределено);
			//ЕстьКурсВзаиморасчетов      = (МетаданныеДокумента.Реквизиты.Найти("КурсВзаиморасчетов") <> Неопределено);
			//ЕстьКратностьВзаиморасчетов = (МетаданныеДокумента.Реквизиты.Найти("КратностьВзаиморасчетов") <> Неопределено);
			/*// В некоторых документах курс и кратность документа отсутствуют
*/
			if(true/*ПроверкаПоВалютеВзаиморасчетов
	   И ЕстьКурсВзаиморасчетов
	   И ЕстьКратностьВзаиморасчетов
	   И ЕстьКурсДокумента
	   И ЕстьКратностьДокумента*/)
			{
				//ВалютаВзаиморасчетов          = Валюта;
				//ВалютаДокумента               = ДокументОбъект.ВалютаДокумента;
				//СтарыйКурсВзаиморасчетов      = ДокументОбъект.КурсВзаиморасчетов;
				//СтараяКратностьВзаиморасчетов = ДокументОбъект.КратностьВзаиморасчетов;
				//СтруктураВалюты               = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаВзаиморасчетов, ДокументОбъект.Дата);
				//НовыйКурсВзаиморасчетов       = СтруктураВалюты.Курс;
				//НоваяКратностьВзаиморасчетов  = СтруктураВалюты.Кратность;
				//СтарыйКурсДокумента           = ДокументОбъект.КурсДокумента;
				//СтараяКратностьДокумента      = ДокументОбъект.КратностьДокумента;
				//СтруктураВалюты               = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента, ДокументОбъект.Дата);
				//НовыйКурсДокумента            = СтруктураВалюты.Курс;
				//НоваяКратностьДокумента       = СтруктураВалюты.Кратность;
			}
			//ИзменилсяКурсВзаиморасчетов = НЕ (НовыйКурсВзаиморасчетов = СтарыйКурсВзаиморасчетов И НоваяКратностьВзаиморасчетов = СтараяКратностьВзаиморасчетов);
			//ИзменилсяКурсДокумента      = НЕ (НовыйКурсДокумента      = СтарыйКурсДокумента      И НоваяКратностьДокумента      = СтараяКратностьДокумента);
			/*// Контроль изменений курса.
*/
			if(true/*ИзменилсяКурсВзаиморасчетов
	   И ИзменилсяКурсДокумента*/)
			{
				/*// Изменился курс документа и взаиморасчетов.
*/
				/*ТекстВопроса = "На дату документа у валюты документа " +
		               СокрЛП(ПолучитьИнформациюКурсаВалютыСтрокой(ВалютаДокумента,      СтарыйКурсДокумента,      СтараяКратностьДокумента,      ВалютаРегламентированногоУчета, Истина)) +
		               " и валюты взаиморасчетов " +
		               СокрЛП(ПолучитьИнформациюКурсаВалютыСтрокой(ВалютаВзаиморасчетов, СтарыйКурсВзаиморасчетов, СтараяКратностьВзаиморасчетов, ВалютаРегламентированногоУчета, Истина)) +
		               " был задан другой курс." +
		               Символы.ПС +
		               "Установить курс документа " +
		               СокрЛП(ПолучитьИнформациюКурсаВалютыСтрокой(ВалютаДокумента,      НовыйКурсДокумента,      НоваяКратностьДокумента,      ВалютаРегламентированногоУчета, Истина)) +
		               " и курс взаиморасчетов " +
		               СокрЛП(ПолучитьИнформациюКурсаВалютыСтрокой(ВалютаВзаиморасчетов, НовыйКурсВзаиморасчетов, НоваяКратностьВзаиморасчетов, ВалютаРегламентированногоУчета, Истина)) +
		               " в соответствии с курсом валют?";*/
			}
			//Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да);
			if(true/*Ответ = КодВозвратаДиалога.Да*/)
			{
				if(true/*ИзменилсяКурсДокумента*/)
				{
					if(true/*ЕстьКурсДокумента*/)
					{
						//ДокументОбъект.КурсДокумента           = НовыйКурсДокумента;
					}
					if(true/*ЕстьКратностьДокумента*/)
					{
						//ДокументОбъект.КратностьДокумента      = НоваяКратностьДокумента;
					}
				}
				if(true/*ИзменилсяКурсВзаиморасчетов*/)
				{
					if(true/*ЕстьКурсВзаиморасчетов*/)
					{
						//ДокументОбъект.КурсВзаиморасчетов      = НовыйКурсВзаиморасчетов;
					}
					if(true/*ЕстьКратностьВзаиморасчетов*/)
					{
						//ДокументОбъект.КратностьВзаиморасчетов = НоваяКратностьВзаиморасчетов;
					}
				}
				//ФлагИзмененияКурса = Истина;
			}
		}
		// ПриИзмененииЗначенияДатыДокумента()
		// Процедура вызывается из форм платежных документов при смене кассы или
		// банковского счета. Меняет валюту, курс документа и предлагает пересчитать сумму.
		//
		// Параметры:
		//  ВалютаДокумента  - ссылка на справочник, валюта документа до изменения;
		//  КурсДокумента    - число, курс документа до изменения;
		//  ДатаДокумента    - дата, дата на которую будем получать новый курс;
		//  СуммаДокумента   - число, сумма документа;
		//  ВалютаДенежныхСредств - ссылка на справочник, валюта выбранного счета или кассы
		//                     (новая валюта документа);
		//

		public void ПриИзмененииЗначенияКассыБанковскогоСчета(/*ВалютаДокумента, КурсДокумента, КратностьДокумента, ДатаДокумента, 
	                                        СуммаДокумента, ВалютаДенежныхСредств,ПересчитыватьСумму=Истина*/)
		{
			/*// Поменяем валюту до вопроса о пересчете, чтобы было видно, что она действительно поменялась.
*/
			//СтараяВалюта    = ВалютаДокумента;
			//СатрыйКурс      = КурсДокумента;
			//СтараяКратность = КратностьДокумента;
			//ВалютаДокумента = ВалютаДенежныхСредств;
			/*// должны строго совпадать
*/
			//СтруктураКурсаВалютаДокумента = МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента, ДатаДокумента);
			//КурсДокумента        = СтруктураКурсаВалютаДокумента.Курс;
			//КратностьДокумента   = СтруктураКурсаВалютаДокумента.Кратность;
			if(true/*ВалютаДокумента <>  СтараяВалюта
	   И СуммаДокумента > 0*/)
			{
				/*// Надо предложить пересчитать сумму.
*/
				/*Ответ = Вопрос("Изменилась валюта документа. Пересчитать сумму документа?", 
		               РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);*/
				if(true/*Ответ = КодВозвратаДиалога.Да*/)
				{
					/*СуммаДокумента = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(СуммаДокумента, СтараяВалюта, ВалютаДокумента, СатрыйКурс,
									    КурсДокумента,СтараяКратность,КратностьДокумента);*/
				}
			}
		}
		// ПриИзмененииЗначенияКассыБанковскогоСчета()
		// Процедура выполняет общие действия при изменнении учетной политики организация является плательщиком ЕНВД
		//
		// Параметры:
		//  ДокументОбъект                      - объект редактируемого документа
		//  РежимВызова                         - режим вызова, строка режима вызова ("ДатаДокумента" или "Организация")
		//  ТабличнаяЧасть                      - табличная часть
		//  ОрганизацияЯвляетсяПлательщикомЕНВД - текущий флаг учетной политики документа (изменяется в процедуре)
		//  Организация                         - текущая организация документа (изменяется в процедуре)
		//

		public void ПриИзмененииОрганизацияЯвляетсяПлательщикомЕНВД(/*ДокументОбъект,
	                                                      РежимВызова,
	                                                      ТабличнаяЧасть,
	                                                      ОрганизацияЯвляетсяПлательщикомЕНВД,
	                                                      Организация*/)
		{
			/*// Если учетная политика неопределена
*/
			if(true/*ОрганизацияЯвляетсяПлательщикомЕНВД = Неопределено*/)
			{
			}
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			//Дата                = ДокументОбъект.Дата;
			//СтараяОрганизация   = Организация;
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено*/)
			{
				//НоваяОрганизация = ДокументОбъект.Организация;
			}
			if(true/*НЕ ЗначениеЗаполнено(НоваяОрганизация)*/)
			{
			}
			/*// Определим значения учетной политики
*/
			//СтарыйОрганизацияЯвляетсяПлательщикомЕНВД = ОрганизацияЯвляетсяПлательщикомЕНВД;
			//ПараметрыУчетнойПолитикиРегл = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(Дата, НоваяОрганизация, Ложь);
			if(true/*ЗначениеЗаполнено(ПараметрыУчетнойПолитикиРегл)*/)
			{
				//НовыйОрганизацияЯвляетсяПлательщикомЕНВД = ПараметрыУчетнойПолитикиРегл.ОрганизацияЯвляетсяПлательщикомЕНВД;
			}
			//ОрганизацияЯвляетсяПлательщикомЕНВД = НовыйОрганизацияЯвляетсяПлательщикомЕНВД;
			//Организация                         = НоваяОрганизация;
			/*// Проверим необходимость выполнения пересчета
*/
			if(true/*ТабличнаяЧасть.Количество() = 0*/)
			{
			}
			/*// Пересчет табличной части
*/
		}
		// ПриИзмененииОрганизацияЯвляетсяПлательщикомЕНВД()
		//////////////// НАЧАЛО ВЫБОРА //////////////////////////
		// Процедура выполняет стандартные действия при начале выбора сделки в формах документов.
		//
		// Параметры:
		//  ДокументОбъект        - объект редактируемого документа;
		//  ФормаДокумента        - форма редактируемого документа;
		//  ЭлементФормы          - элемент формы документа, который надо заполнить;
		//  ДоговорКонтрагента - ссылка на справочник, определяет договор контрагента по сделке;
		//  Сделка                - ссылка на документ, определяет собственно сделку;
		//  СтандартнаяОбработка, - булево, признак выполнения стандартной (системной) обработки события
		//                          начала выбора для данного элемента формы документа;
		//  СтрокаВидаДвижения    - строка, "Приход" или "Расход", определяет какие документы могут выступать
		//                          в качестве расчетных: если документ выполняет расход по регистру то берем те,
		//                          которые выполняют приход, и наоборот;
		//  СтрокаТипаЗаказа      - строка, содержащая тип заказа (поставщику или покупателя).
		//  СтруктураОтбора       - структура отбора, которая будет передана в открываемую форму выбора.
		//

		public void НачалоВыбораЗначенияСделки(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, ДоговорКонтрагента, Сделка,
	                          СтандартнаяОбработка, СтрокаВидаДвижения, Знач СтрокаТипаЗаказа,СтруктураОтбора = Неопределено*/)
		{
			//ЭлементФормыКонтрагент = ФормаДокумента.ЭлементыФормы.Найти("Контрагент");
			/*// Тип выбираемого значения зависит от договора.
*/
			if(true/*НЕ ЗначениеЗаполнено(ДоговорКонтрагента)*/)
			{
				//СтандартнаяОбработка = Ложь;
				//Предупреждение("Не выбран договор контрагента!");
				if(true/*ЭлементФормыКонтрагент<>неопределено*/)
				{
					//ФормаДокумента.ТекущийЭлемент = ЭлементФормыКонтрагент;
				}
			}
			/*// Тип выбираемого значения зависит от договора.
*/
			if(true/*ДоговорКонтрагента.ВидДоговора=Перечисления.ВидыДоговоровКонтрагентов.Прочее*/)
			{
				//СтандартнаяОбработка = Ложь;
				//Предупреждение("По договорам с видом ""Прочее"" не ведутся взаиморасчеты по сделкам!");
				if(true/*ЭлементФормыКонтрагент<>неопределено*/)
				{
					//ФормаДокумента.ТекущийЭлемент = ЭлементФормыКонтрагент;
				}
			}
			//СтандартнаяОбработка = Ложь;
			if(true/*(СтрокаТипаЗаказа = "ЗаказПоставщику") или (СтрокаТипаЗаказа = "ЗаказПокупателя")*/)
			{
				//ТипДокументаСделки = СтрокаТипаЗаказа;
				//ТипДокументаСчет = ?(СтрокаТипаЗаказа = "ЗаказПоставщику","СчетНаОплатуПоставщика","СчетНаОплатуПокупателю");
				if(true/*ДокументОбъект.Метаданные().Реквизиты.Найти("Сделка") = Неопределено*/)
				{
					//ЕстьТипСчет = Истина;
				}
				if(true/*ЕстьТипСчет*/)
				{
					if(true/*ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоСчетам*/)
					{
						//ТипДокументаСделки = ТипДокументаСчет;
					}
					if(true/*НЕ ЗначениеЗаполнено(Сделка) ИЛИ ТипЗнч(Сделка) <> Тип("ДокументСсылка." + СтрокаТипаЗаказа)*/)
					{
						//Сделка = Документы[ТипДокументаСделки].ПустаяСсылка();
					}
				}
			}
			/*// В качестве владельца формы выбора устанавливаем данный элемент,
*/
			/*// чтобы выбранное значение было присвоено стандартно.
*/
			//ФормаВыбора = Документы[ТипДокументаСделки].ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Отфильруем список документов по договору.
*/
			//ФормаВыбора.Отбор.ДокументыПоДоговоруКонтрагента.Значение      = ДоговорКонтрагента;
			//ФормаВыбора.Отбор.ДокументыПоДоговоруКонтрагента.Использование = Истина;
			/*// Отфильруем список документов.
*/
			if(true/*НЕ СтруктураОтбора = Неопределено*/)
			{
				if(true/*ТипЗнч(СтруктураОтбора) = Тип("ТаблицаЗначений")*/)
				{
				}
			}
			if(true/*ЗначениеЗаполнено(Сделка) И Сделка.ДоговорКонтрагента = ДоговорКонтрагента*/)
			{
				//ФормаВыбора.НачальноеЗначениеВыбора = Сделка;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияСделки()
		// Процедура выполняет стандартные действия при начале выбора документа расчетов с контрагентом в формах документов.
		//
		// Параметры:
		//  ДокументОбъект        - объект редактируемого документа;
		//  ФормаДокумента        - форма редактируемого документа;
		//  ЭлементФормы          - элемент формы документа, который надо заполнить;
		//  ДоговорКонтрагента - ссылка на справочник, определяет договор контрагента по сделке;
		//  Сделка                - ссылка на документ, определяет собственно сделку;
		//  СтандартнаяОбработка, - булево, признак выполнения стандартной (системной) обработки события
		//                          начала выбора для данного элемента формы документа;
		//  СтрокаВидаДвижения    - строка, "Приход" или "Расход", определяет какие документы могут выступать
		//                          в качестве расчетных: если документ выполняет расход по регистру то берем те,
		//                          которые выполняют приход, и наоборот.
		//

		public void НачалоВыбораЗначенияДокументаРасчетовСКонтрагентом(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, ДоговорКонтрагента, Сделка,
	                          СтандартнаяОбработка, СтрокаВидаДвижения*/)
		{
			/*// Тип выбираемого значения зависит от договора.
*/
			if(true/*НЕ ЗначениеЗаполнено(ДоговорКонтрагента)*/)
			{
				//СтандартнаяОбработка = Ложь;
				//Предупреждение("Не выбран договор контрагента!");
				/*//в шапке документа может не быть реквизита Контрагент - например, в Авансовом отчете
*/
				if(true/*ФормаДокумента.ЭлементыФормы.Найти("Контрагент") <> Неопределено*/)
				{
					//ФормаДокумента.ТекущийЭлемент = ФормаДокумента.ЭлементыФормы.Контрагент;
				}
			}
			//СтандартнаяОбработка = Ложь;
			if(true/*ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом*/)
			{
				/*// Заполним возможный список типов документов, которые могут быть расчетными.
*/
				//СписокТипов = Новый СписокЗначений;
				if(true/*СтрокаВидаДвижения = "Приход"*/)
				{
					/*// Заполним список документов, которые могут делать расход по регистру.
*/
					/*// Список документов зависит от вида договора
*/
					if(true/*ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем
			 Или ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером*/)
					{
						//СписокТипов.Добавить(Метаданные.Документы["ВозвратТоваровОтПокупателя"].Имя,               Метаданные.Документы["ВозвратТоваровОтПокупателя"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["КорректировкаДолгаПоВозвратнойТаре"].Имя,       Метаданные.Документы["КорректировкаДолгаПоВозвратнойТаре"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["КорректировкаДолга"].Имя,                       Метаданные.Документы["КорректировкаДолга"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ПриходныйКассовыйОрдер"].Имя,                   Метаданные.Документы["ПриходныйКассовыйОрдер"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ПлатежноеПоручениеВходящее"].Имя,               Метаданные.Документы["ПлатежноеПоручениеВходящее"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["АккредитивПолученный"].Имя,                     Метаданные.Документы["АккредитивПолученный"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ИнкассовоеПоручениеПереданное"].Имя,            Метаданные.Документы["ИнкассовоеПоручениеПереданное"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ПлатежноеТребованиеВыставленное"].Имя,          Метаданные.Документы["ПлатежноеТребованиеВыставленное"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ПлатежныйОрдерПоступлениеДенежныхСредств"].Имя, Метаданные.Документы["ПлатежныйОрдерПоступлениеДенежныхСредств"].Представление());
						//СписокТипов.Добавить(Метаданные.Документы["ОплатаОтПокупателяПлатежнойКартой"].Имя, 	   Метаданные.Документы["ОплатаОтПокупателяПлатежнойКартой"].Представление());
						if(true/*ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером*/)
						{
							//СписокТипов.Добавить(Метаданные.Документы["РеализацияТоваровУслуг"].Имя,               Метаданные.Документы["РеализацияТоваровУслуг"].Представление());
							//СписокТипов.Добавить(Метаданные.Документы["ОтчетКомиссионераОПродажах"].Имя,           Метаданные.Документы["ОтчетКомиссионераОПродажах"].Представление());
						}
					}
				}
				//СписокТипов.Добавить(Метаданные.Документы["ДокументРасчетовСКонтрагентом"].Имя,                 Метаданные.Документы["ДокументРасчетовСКонтрагентом"].Представление());
				/*// Пользователь выбирает тип расчетного документа
*/
				//СписокТипов.СортироватьПоПредставлению();
				if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
				{
					//ИмяНачальногоТипа = ЭлементФормы.Значение.Метаданные().Имя;
					//НачальноеЗначение = СписокТипов.НайтиПоЗначению(ИмяНачальногоТипа);
				}
				//ВыбранныйЭлемент = ФормаДокумента.ВыбратьИзСписка(СписокТипов, ЭлементФормы, НачальноеЗначение);
				if(true/*ВыбранныйЭлемент = Неопределено*/)
				{
					/*// пользователь отказался от выбора
*/
				}
				//ТипДокументаРасчетов = ВыбранныйЭлемент.Значение;
			}
			/*// В качестве владельца формы выбора устанавливаем данный элемент,
*/
			/*// чтобы выбранное значение было присвоено стандартно.
*/
			//ФормаВыбора = Документы[ТипДокументаРасчетов].ПолучитьФормуВыбора(,ЭлементФормы,);
			if(true/*ТипДокументаРасчетов = "ДокументРасчетовСКонтрагентом"*/)
			{
				//СтруктураОтбора = Новый Структура;
				//СтруктураОтбора.Вставить("Дата",               ДокументОбъект.Дата);
				//СтруктураОтбора.Вставить("Контрагент",         ДоговорКонтрагента.Владелец);
				//СтруктураОтбора.Вставить("ДоговорКонтрагента", ДоговорКонтрагента);
				//СтруктураОтбора.Вставить("Организация",        ДоговорКонтрагента.Организация);
				//ОграничениеТипа = Новый ОписаниеТипов("ДокументСсылка.ДокументРасчетовСКонтрагентом");
				//БухгалтерскийУчет.ОбработатьВыборСубконто(ЭлементФормы, Ложь, ДоговорКонтрагента.Организация, СтруктураОтбора, ОграничениеТипа);
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияДокументаРасчетовСКонтрагентом()
		// Процедура выполняет стандартные действия при начале выбора документа составного типа в формах документов.
		//
		// Параметры:
		//  ДокументОбъект       - объект редактируемого документа;
		//  ФормаДокумента       - форма редактируемого документа;
		//  ЭлементФормы         - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события
		//                         начала выбора для данного элемента формы документа.
		//  СтруктураОтбора      - структура, содержащая имена и значения отборов в форме выбора.
		//  ИмяТабличнойЧасти    - имя табличной части
		//

		public void НачалоВыбораЗначенияДокументаСоставногоТипа(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, 
	                   СтандартнаяОбработка, СтруктураОтбора, ИмяТабличнойЧасти,ОграничениеТипов = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			/*// Заполним возможный список типов документов, которые могут быть в этом реквизите.
*/
			//СписокТипов = Новый СписокЗначений;
			if(true/*ПустаяСтрока(ИмяТабличнойЧасти)*/)
			{
				/*// Шапка документа
*/
				//МассивТипов = ДокументОбъект.Метаданные().Реквизиты[ЭлементФормы.Данные].Тип.Типы();
			}
			if(true/*МассивТипов.Количество() = 1*/)
			{
				//ОбъектОписанияМетаданных = Метаданные.НайтиПоТипу(МассивТипов[0]);
				//ВыбранныйТип = ОбъектОписанияМетаданных.Имя;
			}
			if(true/*ТипЗнч(ЭлементФормы.Значение) <> Тип("ДокументСсылка." + ВыбранныйТип)*/)
			{
				//ЭлементФормы.Значение = Документы[ВыбранныйТип].ПустаяСсылка();
			}
			if(true/*СтруктураОтбора = Неопределено*/)
			{
				//СтруктураОтбора = Новый Структура;
			}
			/*// В качестве владельца формы выбора устанавливаем данный элемент,
*/
			/*// чтобы выбранное значение было присвоено стандартно.
*/
			//ФормаВыбора = Документы[ВыбранныйТип].ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Проверка возможности отбора по сделке
*/
			if(true/*СтруктураОтбора.Свойство("Сделка")*/)
			{
				if(true/*ФормаВыбора.Отбор.Найти("Сделка")= Неопределено*/)
				{
					//СтруктураОтбора.Удалить("Сделка");
				}
			}
			/*// Отфильруем список документов.
*/
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияДокументаСоставногоТипа()
		// Процедура выполняет стандартные действия при начале выбора структурной единицы контрагента в формах документов.
		//
		// Параметры:
		//  ДокументОбъект                 - объект редактируемого документа;
		//  ФормаДокумента                 - форма редактируемого документа;
		//  ЭлементФормы                   - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,          - булево, признак выполнения стандартной (системной) обработки события
		//                                   начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораЗначенияСтруктурнойЕдиницы(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			if(true/*ЭлементФормы.Значение = Неопределено*/)
			{
				/*//выбор типа
*/
				//СписокТипов = Новый СписокЗначений;
				//СписокТипов.Добавить(Метаданные.Справочники.БанковскиеСчета.Имя, Метаданные.Справочники.БанковскиеСчета.Синоним);
				//СписокТипов.Добавить(Метаданные.Справочники.Кассы.Имя, Метаданные.Справочники.Кассы.Синоним);
				//ВыбранныйЭлемент = ФормаДокумента.ВыбратьИзСписка(СписокТипов,ЭлементФормы);
				if(true/*ВыбранныйЭлемент = Неопределено*/)
				{
				}
				if(true/*ВыбранныйЭлемент.Значение = Метаданные.Справочники.БанковскиеСчета.Имя*/)
				{
					//ЭлементФормы.Значение = Справочники.БанковскиеСчета.ПустаяСсылка();
				}
			}
			//ЕстьДоговорКонтрагента = (ДокументОбъект.Метаданные().Реквизиты.Найти("ДоговорКонтрагента") <> Неопределено);
			if(true/*ЕстьДоговорКонтрагента И ДокументОбъект.ДоговорКонтрагента.РасчетыВУсловныхЕдиницах*/)
			{
				//ВалютаБанковскогоСчетаКассы = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			}
			if(true/*ТипЗнч(ЭлементФормы.Значение) = Тип("СправочникСсылка.БанковскиеСчета")*/)
			{
				//НачалоВыбораЗначенияБанковскогоСчета(ДокументОбъект.Организация, ЭлементФормы, СтандартнаяОбработка, ВалютаБанковскогоСчетаКассы);
			}
		}
		// НачалоВыбораЗначенияСтруктурнойЕдиницы()
		// Процедура выполняет стандартные действия при начале выбора структурной единицы контрагента в формах документов.
		//
		// Параметры:
		//  ВладелецБанковскогоСчета - ссылка на справочник, определяет владельца банковского счета;
		//  ЭлементФормы             - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,    - булево, признак выполнения стандартной (системной) обработки события
		//                             начала выбора для данного элемента формы документа.
		//  ВалютаБанковскогоСчета   - ссылка на справочник, определяет валюту банковского счета,
		//                             если неп заполнено, то список банковских счетов не фильтруется по валюте;
		//

		public void НачалоВыбораЗначенияБанковскогоСчета(/*ВладелецБанковскогоСчета,ЭлементФормы, СтандартнаяОбработка, 
	                                   ВалютаБанковскогоСчета = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбораБанковскогоСчета = Справочники.БанковскиеСчета.ПолучитьФормуСписка(, ЭлементФормы);
			//ФормаВыбораБанковскогоСчета.ПараметрОтборПоВладельцу = ВладелецБанковскогоСчета;
			if(true/*ЗначениеЗаполнено(ВалютаБанковскогоСчета)*/)
			{
				//ФормаВыбораБанковскогоСчета.Отбор.ВалютаДенежныхСредств.Значение      = ВалютаБанковскогоСчета;
				//ФормаВыбораБанковскогоСчета.Отбор.ВалютаДенежныхСредств.Использование = Истина;
			}
			//ФормаВыбораБанковскогоСчета.РежимВыбора = Истина;
			//ФормаВыбораБанковскогоСчета.НачальноеЗначениеВыбора = ЭлементФормы.Значение;
			//ФормаВыбораБанковскогоСчета.Открыть();
		}
		// НачалоВыбораЗначенияБанковскогоСчета()
		// Процедура выполняет стандартные действия при начале выбора размещения в формах документов.
		//
		// Параметры:
		//  ФормаДокумента           - форма редактируемого документа;
		//  ЭлементФормы             - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,    - булево, признак выполнения стандартной (системной) обработки события
		//                             начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораЗначенияРазмещения(/*ФормаДокумента, ЭлементФормы, СтандартнаяОбработка, СтруктураОтбора = Неопределено, ДопПараметры = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//МассивДоступныеПоляОтбора = Новый Массив;
			//ИспользоватьВнутренниеЗаказы = Неопределено;
			//ИспользоватьЗаказыНаПроизводство = Неопределено;
			if(true/*ДопПараметры <> Неопределено*/)
			{
				if(true/*ДопПараметры.Свойство("ДоступныеПоляОтбора")*/)
				{
					//МассивДоступныеПоляОтбора = ДопПараметры.ДоступныеПоляОтбора;
				}
				if(true/*ДопПараметры.Свойство("ИспользоватьВнутренниеЗаказы")*/)
				{
					//ИспользоватьВнутренниеЗаказы = ДопПараметры.ИспользоватьВнутренниеЗаказы;
				}
				if(true/*ДопПараметры.Свойство("ИспользоватьЗаказыНаПроизводство")*/)
				{
					//ИспользоватьЗаказыНаПроизводство = ДопПараметры.ИспользоватьЗаказыНаПроизводство;
				}
			}
			if(true/*ИспользоватьВнутренниеЗаказы = Неопределено*/)
			{
				//ИспользоватьВнутренниеЗаказы = УправлениеЗаказами.ИспользоватьВнутренниеЗаказы();
			}
			if(true/*ИспользоватьЗаказыНаПроизводство = Неопределено*/)
			{
				//ИспользоватьЗаказыНаПроизводство = УправлениеЗаказами.ИспользоватьЗаказыНаПроизводство();
			}
			//СписокТипов = Новый СписокЗначений;
			//СписокТипов.Добавить(Метаданные.Документы.ЗаказПоставщику.Имя, Метаданные.Документы.ЗаказПоставщику.Синоним);
			/*//заказ на производство в размещении может быть указан не всегда
*/
			if(true/*ЭлементФормы.ТипЗначения.СодержитТип(Тип("ДокументСсылка.ЗаказНаПроизводство")) 
		И ИспользоватьЗаказыНаПроизводство*/)
			{
				//СписокТипов.Добавить(Метаданные.Документы.ЗаказНаПроизводство.Имя, Метаданные.Документы.ЗаказНаПроизводство.Синоним);
			}
			if(true/*ИспользоватьВнутренниеЗаказы*/)
			{
				//СписокТипов.Добавить(Метаданные.Документы.ВнутреннийЗаказ.Имя, Метаданные.Документы.ВнутреннийЗаказ.Синоним);
			}
			//СписокТипов.Добавить(Метаданные.Справочники.Склады.Имя, Метаданные.Справочники.Склады. Синоним);
			//ВыбранныйЭлемент = ФормаДокумента.ВыбратьИзСписка(СписокТипов,ЭлементФормы);
			if(true/*ВыбранныйЭлемент = Неопределено*/)
			{
			}
			if(true/*ВыбранныйЭлемент.Значение = Метаданные.Документы.ЗаказПоставщику.Имя 
		ИЛИ ВыбранныйЭлемент.Значение = Метаданные.Документы.ЗаказНаПроизводство.Имя
		ИЛИ ВыбранныйЭлемент.Значение = Метаданные.Документы.ВнутреннийЗаказ.Имя*/)
			{
				/*// В качестве владельца формы выбора устанавливаем данный элемент формы, чтобы выбранное
*/
				/*// значение было присвоено стандартно.
*/
				//ФормаВыбора = Документы[ВыбранныйЭлемент.Значение].ПолучитьФормуВыбора(,ЭлементФормы,);
				if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение) 
			И ТипЗнч(ЭлементФормы.Значение) = Тип("ДокументСсылка." + ВыбранныйЭлемент.Значение)*/)
				{
					//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
				}
			}
			/*// Отфильтруем список выбора
*/
			if(true/*СтруктураОтбора <> Неопределено*/)
			{
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияРазмещения()
		// Процедура выполняет стандартные действия при начале выбора размещения в формах документов.
		//
		// Параметры:
		//  ФормаДокумента           - форма редактируемого документа;
		//  ЭлементФормы             - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,    - булево, признак выполнения стандартной (системной) обработки события
		//                             начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораЗначенияСкладаГруппы(/*ФормаДокумента, ЭлементФормы, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//СписокТипов = Новый СписокЗначений;
			//СписокТипов.Добавить(Метаданные.Справочники.ГруппыДоступностиСкладов.Имя, Метаданные.Справочники.ГруппыДоступностиСкладов.Синоним);
			//СписокТипов.Добавить(Метаданные.Справочники.Склады.Имя, Метаданные.Справочники.Склады. Синоним);
			//ВыбранныйЭлемент = ФормаДокумента.ВыбратьИзСписка(СписокТипов,ЭлементФормы);
			if(true/*ВыбранныйЭлемент = Неопределено*/)
			{
			}
			if(true/*ВыбранныйЭлемент.Значение = Метаданные.Справочники.ГруппыДоступностиСкладов.Имя*/)
			{
				/*// В качестве владельца формы выбора устанавливаем данный элемент формы, чтобы выбранное
*/
				/*// значение было присвоено стандартно.
*/
				//ФормаВыбора = Справочники[ВыбранныйЭлемент.Значение].ПолучитьФормуВыбора(,ЭлементФормы,);
				if(true/*ТипЗнч(ЭлементФормы.Значение) = Тип("СправочникСсылка.ГруппыДоступностиСкладов")*/)
				{
					//ФормаВыбора.НачальноеЗначениеВыбора = ЭлементФормы.Значение;
				}
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияСкладаГруппы()
		// Процедура выполняет стандартные действия при начале выбора договора контрагента в формах документов.
		//
		// Параметры:
		//  ДокументОбъект                   - объект редактируемого документа;
		//  ФормаДокумента                    - форма редактируемого документа;
		//  ЭлементФормы                      - элемент формы документа, который надо заполнить;
		//  Контрагент                        - ссылка на справочник, определяет контрагента по договору;
		//  ДоговорКонтрагента                - ссылка на справочник, определяет договор контрагента;
		//  ВидДоговораВзаиморасчетов         - вид договора взаиморасчетов для отбора, значение перечисления ВидыДоговоровКонтрагентов;
		//  СтандартнаяОбработка              - булево, признак выполнения стандартной (системной) обработки события,
		//  СтруктураДополнительныхПараметров - структура, содержит дополнительные значения отбора, необязаетльный,
		//                                      ключ - имя отбора, значение - структура, определяющая отбор с ключами:
		//                                      ЗначениеОтбора (если не задан, то отбор не устанавливается),
		//                                      ВидСравненияОтбора (если не задан, то ВидСравнения.Равно),
		//                                      ДоступностьОтбора (если не задан, то Ложь).
		//

		public void НачалоВыбораЗначенияДоговораКонтрагента(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, Контрагент, ДоговорКонтрагента,
                                                  ВидыДоговораВзаиморасчетов, СтандартнаяОбработка,
                                                  СтруктураДополнительныхПараметров = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			/*//// Тип выбираемого значения зависит от договора.
*/
			/*//Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
*/
			/*//	Предупреждение("Не выбран контрагент!");
*/
			/*//	ФормаДокумента.ТекущийЭлемент = ФормаДокумента.ЭлементыФормы.Контрагент;
*/
			/*//	Возврат;
*/
			/*//КонецЕсли;
*/
			/*// В качестве владельца формы выбора устанавливаем данный элемент формы, чтобы выбранное
*/
			/*// значение было присвоено стандартно.
*/
			//ФормаВыбора = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Владельца менять по умолчанию не даем.
*/
			//ФормаВыбора.ПараметрОтборПоВладельцу = Контрагент;
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Владелец.Доступность = Ложь;
			if(true/*ВидыДоговораВзаиморасчетов<>Неопределено*/)
			{
				/*// Оставим в выборе только "правильные" договоры
*/
				if(true/*ТипЗнч(ВидыДоговораВзаиморасчетов) = Тип("СписокЗначений")*/)
				{
					//ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.ВидСравнения                    = ВидСравнения.ВСписке;
				}
				//ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.Значение                            = ВидыДоговораВзаиморасчетов;
				//ФормаВыбора.СправочникСписок.Отбор.ВидДоговора.Использование                       = Истина;
				//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидДоговора.Доступность = Ложь;
			}
			/*// Еще надо фильтровать по организации, если она заполнена
*/
			if(true/*МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено
	   И ЗначениеЗаполнено(ДокументОбъект.Организация)*/)
			{
				//ФормаВыбора.СправочникСписок.Отбор.Организация.Значение                            = ДокументОбъект.Организация;
				//ФормаВыбора.СправочникСписок.Отбор.Организация.Использование                       = Истина;
				//ФормаВыбора.СправочникСписок.Отбор.Организация.ВидСравнения                        = ВидСравнения.Равно;
				//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Организация.Доступность = Ложь;
			}
			/*// Добавим фильтры по дополнительным параметрам отбора
*/
			if(true/*ТипЗнч(СтруктураДополнительныхПараметров) = Тип("Структура")*/)
			{
			}
			//ФормаВыбора.НачальноеЗначениеВыбора = ДоговорКонтрагента;
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияДоговораКонтрагента()
		// Процедура выполняет стандартные действия при начале выбора склада в формах документов.
		//
		// Параметры:
		//  ДокументОбъект        - объект редактируемого документа;
		//  ФормаДокумента        - форма редактируемого документа;
		//  ЭлементФормы          - элемент формы документа, который надо заполнить;
		//  Склад                 - текущий склад в форме;
		//  ВидСравненияНТТ       - Вид сравнения - равно или не равно НТТ;
		//  СтандартнаяОбработка, - булево, признак выполнения стандартной (системной) обработки события
		//                          начала выбора для данного элемента формы документа;
		//  ЗначВидСклада		  - вид склада, по которому следует установить отбор. Если не указан - то "НТТ"

		public void НачалоВыбораСкладаНТТ(/*ДокументОбъект, ФормаДокумента, ЭлементФормы, Склад, ВидСравненияНТТ,
	                          СтандартнаяОбработка, Знач ЗначВидСклада = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			/*// В качестве владельца формы выбора устанавливаем данный элемент формы, чтобы выбранное
*/
			/*// значение было присвоено стандартно.
*/
			//ФормаВыбора = Справочники.Склады.ПолучитьФормуВыбора(,ЭлементФормы,);
			if(true/*ЗначВидСклада = Неопределено*/)
			{
				//ЗначВидСклада = Перечисления.ВидыСкладов.НТТ;
			}
			/*// уберем из выбора НТТ
*/
			//ФормаВыбора.СправочникСписок.Отбор.ВидСклада.Значение                            = ЗначВидСклада;
			//ФормаВыбора.СправочникСписок.Отбор.ВидСклада.Использование                       = Истина;
			//ФормаВыбора.СправочникСписок.Отбор.ВидСклада.ВидСравнения                        = ВидСравненияНТТ;
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидСклада.Доступность = Ложь;
			//ФормаВыбора.ПараметрВыборГруппИЭлементов = ЭлементФормы.ВыборГруппИЭлементов;
			if(true/*ТипЗнч(Склад) = Тип("СправочникСсылка.Склады")*/)
			{
				//ФормаВыбора.НачальноеЗначениеВыбора = Склад;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораСкладаНТТ()
		// Процедура выполняет стандартные действия при начале выбора приходного ордера в формах документов.
		//
		// Параметры:
		//  ЭлементФормы          - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка, - булево, признак выполнения стандартной (системной) обработки события
		//                          начала выбора для данного элемента формы документа;
		//  Организация			- организация, по которой необходимо установить отбор
		//	ВидОперации 		- вид операции, по которой необходимо установить отбор

		public void НачалоВыбораПриходногоОрдера(/*ЭлементФормы, СтандартнаяОбработка, Организация, ВидОперации*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Документы.ПриходныйОрдерНаТовары.ПолучитьФормуВыбора(,ЭлементФормы,);
			if(true/*ЗначениеЗаполнено(ВидОперации)*/)
			{
				//ФормаВыбора.ДокументСписок.Отбор.ВидОперации.Значение      = ВидОперации;
				//ФормаВыбора.ДокументСписок.Отбор.ВидОперации.Использование = Истина;
				//ФормаВыбора.ЭлементыФормы.ДокументСписок.НастройкаОтбора.ВидОперации.Доступность = Ложь;
			}
			/*// Надо отфильтровать список по организации
*/
			if(true/*ЗначениеЗаполнено(Организация)*/)
			{
				//ФормаВыбора.Отбор.Организация.Значение      = Организация;
				//ФормаВыбора.Отбор.Организация.Использование = Истина;
			}
			if(true/*ТипЗнч(ЭлементФормы.Значение) = Тип("ДокументСсылка.ПриходныйОрдерНаТовары")*/)
			{
				//ФормаВыбора.НачальноеЗначениеВыбора = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		//НачалоВыбораПриходногоОрдера
		// Вызывается в обработчике события "Начало выбора" при выборе номенклатуры поставщика.
		//

		public void НачалоВыбораНоменклатурыКонтрагента(/*Элемент, СтандартнаяОбработка, Контрагент, Номенклатура*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора(, Элемент);
			//ФормаВыбора.КонтрагентОтбораНоменклатуры = Контрагент;
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Номенклатура;
			//ФормаВыбора.НачальноеЗначениеВыбора = Номенклатура;
			//ФормаВыбора.ПараметрВыборГруппИЭлементов = Элемент.ВыборГруппИЭлементов;
			//СтруктураОтбора = Новый Структура();
			//СтруктураОтбора.Вставить("Номенклатура",Номенклатура);
			//СтруктураОтбора.Вставить("Контрагент",Контрагент);
			//ФормаВыбора.ЭлементыФормы.СписокНоменклатурыКонтрагента.ТекущаяСтрока = РегистрыСведений.НоменклатураКонтрагентов.СоздатьКлючЗаписи(СтруктураОтбора);
			//ФормаВыбора.Открыть();
		}
		// Процедура выполняет стандартные действия при начале выбора спецификации в формах документов.
		//
		// Параметры:
		//  Номенклатура - ссылка на справочник, определяет продукцию, которая указана в спецификации;
		//  ЭлементФормы             - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,    - булево, признак выполнения стандартной (системной) обработки события
		//                             начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораЗначенияСпецификации(/*Номенклатура, ЭлементФормы, СтандартнаяОбработка, ТолькоАктивные = Истина*/)
		{
			//СтандартнаяОбработка    = Ложь;
			//ФормаВыбораСпецификации = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.ВидСравнения  = ВидСравнения.Равно;
			//ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.Значение      = Номенклатура;
			//ФормаВыбораСпецификации.Отбор.СпецификацииИзделийПоНоменклатуре.Использование = Истина;
			if(true/*ТолькоАктивные*/)
			{
				//ФормаВыбораСпецификации.Отбор.Активная.Установить(Истина);
			}
			//ФормаВыбораСпецификации.РежимВыбора                  = Истина;
			//ФормаВыбораСпецификации.ПараметрВыборГруппИЭлементов = ЭлементФормы.ВыборГруппИЭлементов;
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбораСпецификации.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбораСпецификации.Открыть();
		}
		// НачалоВыбораЗначенияСпецификации()
		// Функция формирует таблицу значений со структурой колононк, используемых при установке отборов
		//

		public object СоздатьТаблицуДляОтбора(/**/)
		{
			//Таб = Новый ТаблицаЗначений;
			//Таб.Колонки.Добавить( "Имя",          Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(50)));
			//Таб.Колонки.Добавить( "ВидСравнения", Новый ОписаниеТипов("ВидСравнения"));
			//Таб.Колонки.Добавить( "НеИзменять",   Новый ОписаниеТипов("Булево"));
			//Таб.Колонки.Добавить( "Значение");
			return null;
		}
		// СоздатьТаблицуДляОтбора()
		// Функция формирует таблицу значений для установки отбора нематериальных
		// производственных статей затрат.
		//
		// Возвращаемое значение:
		//	ТаблицаЗначений - таблица значений с заполненными значениями для отбора
		//

		public object СформироватьТаблицуОтбораНематериальныхПроизводственныхСтатейЗатрат(/**/)
		{
			//ТаблицаОтбора = СоздатьТаблицуДляОтбора();
			//НоваяСтрока = ТаблицаОтбора.Добавить();
			//НоваяСтрока.Имя = "ВидЗатрат";
			//НоваяСтрока.ВидСравнения = ВидСравнения.НеРавно;
			//НоваяСтрока.Значение = Перечисления.ВидыЗатрат.Материальные;
			//НоваяСтрока = ТаблицаОтбора.Добавить();
			//НоваяСтрока.Имя = "ХарактерЗатрат";
			//НоваяСтрока.ВидСравнения = ВидСравнения.Равно;
			//НоваяСтрока.Значение = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы;
			return null;
		}
		// СформироватьТаблицуОтбораНематериальныхПроизводственныхСтатейЗатрат()
		// Функция формирует таблицу значений для установки отбора нематериальных статей затрат.
		//
		// Возвращаемое значение:
		//	ТаблицаЗначений - таблица значений с заполненными значениями для отбора
		//

		public object СформироватьТаблицуОтбораНематериальныхСтатейЗатрат(/**/)
		{
			//ТаблицаОтбора = СоздатьТаблицуДляОтбора();
			//НоваяСтрока = ТаблицаОтбора.Добавить();
			//НоваяСтрока.Имя = "ВидЗатрат";
			//НоваяСтрока.ВидСравнения = ВидСравнения.НеРавно;
			//НоваяСтрока.Значение = Перечисления.ВидыЗатрат.Материальные;
			return null;
		}
		// СформироватьТаблицуОтбораНематериальныхПроизводственныхСтатейЗатрат()
		// Процедура выполняет стандартные действия при начале выбора статьи затрат в формах.
		//
		// Параметры:
		//	ЗначениеОтбора       - 1) Характер затрат, по которому следует установить отбор.
		//						 - 2) Объект типа отбор. Используют поля Имя, Вид сравнения и Значение.
		//  ЭлементФормы         - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события
		//                         начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораСтатьиЗатрат(/*ЗначениеОтбора, ЭлементФормы, СтандартнаяОбработка, ВидЗатрат = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.СтатьиЗатрат.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбора.РежимВыбора = Истина;
			if(true/*ТипЗнч(ЗначениеОтбора) = Тип("ТаблицаЗначений")*/)
			{
			}
			if(true/*ВидЗатрат <> Неопределено*/)
			{
				//ФормаВыбора.Отбор.ВидЗатрат.Установить(ВидЗатрат, Истина);
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.ПараметрВыборГруппИЭлементов = ИспользованиеГруппИЭлементов.Элементы;
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораСтатьиЗатрат()
		// Процедура выполняет стандартные действия при начале выбора Подразделения в формах.
		//
		// Параметры:
		//	ЗначениеОтбора       - 1) ВидПодразделения, по которому следует установить отбор.
		//						 - 2) Объект типа отбор. Используют поля Имя, Вид сравнения и Значение.
		//  ЭлементФормы         - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события
		//                         начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораПодразделения(/*ЗначениеОтбора, ЭлементФормы, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.Подразделения.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбора.РежимВыбора = Истина;
			if(true/*ТипЗнч(ЗначениеОтбора) = Тип("ТаблицаЗначений")*/)
			{
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораПодразделения()
		// Процедура выполняет стандартные действия при начале выбора Подразделения в формах.
		//
		// Параметры:
		//	ЗначениеОтбора       - 1) ВидПодразделения, по которому следует установить отбор.
		//						 - 2) Объект типа отбор. Используют поля Имя, Вид сравнения и Значение.
		//  ЭлементФормы         - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события
		//                         начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораПодразделенияОрганизации(/*ЗначениеОтбора, ЭлементФормы, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.ПодразделенияОрганизаций.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбора.РежимВыбора = Истина;
			if(true/*ТипЗнч(ЗначениеОтбора) = Тип("ТаблицаЗначений")*/)
			{
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.ВыборПоВладельцу)*/)
			{
				//ФормаВыбора.ПараметрВыборПоВладельцу = ЭлементФормы.ВыборПоВладельцу;
				//ФормаВыбора.ПараметрОтборПоВладельцу = ЭлементФормы.ВыборПоВладельцу;
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораПодразделенияОрганизации()
		// Вызывается в обработчике события "Начало выбора из списка" при выборе номенклатуры.
		//

		public void НачалоВыбораИзСпискаЗначенияНоменклатуры(/*Элемент, СтандартнаяОбработка, Номенклатура*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = РегистрыСведений.АналогиНоменклатуры.ПолучитьФорму("ФормаВыбора", Элемент);
			//ФормаВыбора.НоменклатураОтбораАналогов = Номенклатура;
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораИзСпискаЗначенияНоменклатуры()
		// Процедура выполняет стандартные действия при начале выбора спецификации в формах документов.
		//
		// Параметры:
		//  Номенклатура - ссылка на справочник, определяет продукцию, которая указана в спецификации;
		//  ЭлементФормы             - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка,    - булево, признак выполнения стандартной (системной) обработки события
		//                             начала выбора для данного элемента формы документа.
		//

		public void НачалоВыбораИнвентаризации(/*Организация, Подразделение = Неопределено, ПодразделениеОрганизации = Неопределено, ЭлементФормы, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Документы.ИнвентаризацияНЗП.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбора.Отбор.Организация.Установить(Организация, Истина);
			//ФормаВыбора.РежимВыбора = Истина;
			if(true/*Подразделение <> Неопределено*/)
			{
				//ФормаВыбора.Отбор.Подразделение.Установить(Подразделение, Истина);
			}
			if(true/*ПодразделениеОрганизации <> Неопределено*/)
			{
				//ФормаВыбора.Отбор.ПодразделениеОрганизации.Установить(ПодразделениеОрганизации, Истина);
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораИнвентаризации()
		// Процедура выполняет стандартные действия при начале выбора справочника составного типа в формах объектов
		//
		// Параметры:
		// 	Объект					- редактируемый объект;
		// 	ФормаДокумента			- форма редактируемого объекта;
		// 	ЭлементФормы			- элемент формы документа, который надо заполнить;
		// 	СтандартнаяОбработка	- булево, признак выполнения стандартной (системной) обработки события
		// 								начала выбора для данного элемента формы документа.
		// 	СтруктураОтбора			- структура, содержащая имена и значения отборов в форме выбора.
		// 	ИмяТабличнойЧасти		- имя табличной части
		//

		public void НачалоВыбораЗначенияСправочникаСоставногоТипа(/*Объект, ФормаОбъекта, ЭлементФормы, 
	                   СтандартнаяОбработка, СтруктураОтбора, ИмяТабличнойЧасти, ОграничениеТипов = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			/*// Заполним возможный список типов документов, которые могут быть в этом реквизите.
*/
			//СписокТипов = Новый СписокЗначений;
			if(true/*ПустаяСтрока(ИмяТабличнойЧасти)*/)
			{
				/*// Шапка документа
*/
				//МассивТипов =Объект.Метаданные().Реквизиты[ЭлементФормы.Данные].Тип.Типы();
			}
			if(true/*МассивТипов.Количество() = 1*/)
			{
				//ОбъектОписанияМетаданных = Метаданные.НайтиПоТипу(МассивТипов[0]);
				//ВыбранныйТип = ОбъектОписанияМетаданных.Имя;
			}
			if(true/*ТипЗнч(ЭлементФормы.Значение) <> Тип("СправочникСсылка." + ВыбранныйТип)*/)
			{
				//ЭлементФормы.Значение = Справочники[ВыбранныйТип].ПустаяСсылка();
			}
			if(true/*СтруктураОтбора = Неопределено*/)
			{
				//СтруктураОтбора = Новый Структура;
			}
			/*// В качестве владельца формы выбора устанавливаем данный элемент,
*/
			/*// чтобы выбранное значение было присвоено стандартно.
*/
			//ФормаВыбора = Справочники[ВыбранныйТип].ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Отфильруем список выбора
*/
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораЗначенияСправочникаСоставногоТипа()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОФОРМЛЕНИЯ ФОРМЫ
		// Активизирует первый не заполненный реквизит в форме
		// Вызывается при открытии формы
		//
		// Параметры:
		//  Объект				- Объект
		//  ФормаДокумента		- Форма объекта
		//  СтруктураРеквизитов	- Реквизиты которые необходимо актив
		//  ТабличнаяЧасть		- Имя ТЧ на каторую будет установлен фокус, если все обязательные реквизиты заполнены
		//  СтраницыСТабЧастями	- структура типа ("имя страницы",	"имя таблицы размещенной на этой странице"),
		//						т.е. в параметр "ТабличнаяЧасть" можно передать имя страницы на каторой размещена ТЧ,
		//						а структура "СтраницыСТабЧастями" необходима для поиска ТЧ по имени страницы.
		//

		public object АктивизироватьРеквизитВФорме(/*Объект, ФормаОбъекта, СтруктураРеквизитов = Неопределено, ТабличнаяЧасть = неопределено, СтраницыСТабЧастями = неопределено*/)
		{
			if(true/*СтруктураРеквизитов = Неопределено 
		ИЛИ ТипЗнч(СтруктураРеквизитов) <> Тип("Структура")*/)
			{
				//СтруктураРеквизитов = Новый Структура;
				//СтруктураРеквизитов.Вставить("Дата");
				//СтруктураРеквизитов.Вставить("Организация");
				//СтруктураРеквизитов.Вставить("Касса");
				//СтруктураРеквизитов.Вставить("СчетОрганизации");
				//СтруктураРеквизитов.Вставить("БанковскийСчет");
				//СтруктураРеквизитов.Вставить("Склад");
				//СтруктураРеквизитов.Вставить("СкладОрдер");
				//СтруктураРеквизитов.Вставить("Контрагент");
				//СтруктураРеквизитов.Вставить("Получатель");
				//СтруктураРеквизитов.Вставить("Плательщик");
				//СтруктураРеквизитов.Вставить("ФизЛицо");
				//СтруктураРеквизитов.Вставить("ПериодРегистрации");
				//СтруктураРеквизитов.Вставить("Сотрудник");
				//СтруктураРеквизитов.Вставить("Исполнитель");
				//СтруктураРеквизитов.Вставить("КурсОбучения");
				//СтруктураРеквизитов.Вставить("ДатаЗавершенияКурса");
				//СтруктураРеквизитов.Вставить("Мероприятие");
			}
			/*// Если есть ТЧ то необходимо фокус передать ей
*/
			if(true/*ТабличнаяЧасть <> Неопределено*/)
			{
				//ЭлементУправления = ФормаОбъекта.ЭлементыФормы.Найти(ТабличнаяЧасть.Имя);
				if(true/*ТипЗнч(ЭлементУправления) = Тип("ТабличноеПоле")*/)
				{
					//ФормаОбъекта.ТекущийЭлемент = ЭлементУправления;
				}
			}
			/*// Если все поля заполнены но нет ТЧ то передадим фокус панели, в результате
*/
			/*// визуально будет казаться что фокус не установлен ни на одном ЭФ.
*/
			//ЭлементУправления = ФормаОбъекта.ЭлементыФормы.Найти("ОсновныеДействияФормы");
			if(true/*ЭлементУправления <> Неопределено*/)
			{
				//ФормаОбъекта.ТекущийЭлемент = ЭлементУправления;
			}
			return null;
		}
		// АктивизироватьРеквизитВФорме()
		// Формирует и устанавливает текст заголовка формы документа
		//
		// Параметры:
		//  СтрокаВидаОперации - строка вида операции документа,
		//  ДокументОбъект     - объект документа,
		//  ФормаДокумента     - форма документа.
		//

		public void УстановитьЗаголовокФормыДокумента(/*СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента*/)
		{
			//ФормаДокумента.АвтоЗаголовок = Ложь;
			/*// заголовок будем писать сами
*/
			if(true/*ПустаяСтрока(СтрокаВидаОперации)*/)
			{
				//Заголовок = ДокументОбъект.Метаданные().Синоним + ": ";
			}
			if(true/*ДокументОбъект.ЭтоНовый()*/)
			{
				//Заголовок = Заголовок + "Новый";
			}
			//ФормаДокумента.Заголовок = Заголовок;
		}
		// УстановитьЗаголовокФормыДокумента()
		// Формирует и устанавливает текст заголовка формы документа с учетом вида склада
		//
		// Параметры:
		//  СтрокаВидаОперации - строка вида операции документа,
		//  ДокументОбъект     - объект документа,
		//  ФормаДокумента     - форма документа,
		//  СкладДляЗаголовка  - склад, вид которого нужно вынести в заголовок
		//

		public void УстановитьЗаголовокФормыДокументаСУчетомСклада(/*СтрокаВидаОперации = "", ДокументОбъект, ФормаДокумента, СкладДляЗаголовка = Неопределено*/)
		{
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			//ДобавитьКЗаголовкуФормы = "";
			if(true/*СкладДляЗаголовка <> Неопределено*/)
			{
				if(true/*СкладДляЗаголовка.ВидСклада = Перечисления.ВидыСкладов.НТТ*/)
				{
					//ДобавитьКЗаголовкуФормы = "НТТ";
				}
			}
			if(true/*ЗначениеЗаполнено(СтрокаВидаОперации) И ЗначениеЗаполнено(ДобавитьКЗаголовкуФормы)*/)
			{
				//ДобавитьКЗаголовкуФормы = ", "+ДобавитьКЗаголовкуФормы;
			}
			//УстановитьЗаголовокФормыДокумента(СтрокаВидаОперации + ДобавитьКЗаголовкуФормы, ДокументОбъект, ФормаДокумента);
		}
		// УстановитьЗаголовокФормыДокументаСУчетомСклада()
		// Устанавливает текст надписи сделки на форме документа
		//
		// Параметры:
		//  ДокументОбъект - объект документа,
		//  ФормаДокумента - форма документа.
		// ЗаказПокупателя - признак заказа покупателю/поставщику
		//

		public void УстановитьНадписьСделки(/*ДокументОбъект, ФормаДокумента, ЗаказПокупателя = Истина*/)
		{
			//НадписьСделка = "Сделка:";
			//ДоговорКонтрагента = ДокументОбъект.ДоговорКонтрагента;
			if(true/*ЗначениеЗаполнено(ДоговорКонтрагента)*/)
			{
				if(true/*ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
		      Или ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам*/)
				{
					//НадписьСделка = "Заказ "+?(ЗаказПокупателя,"покупателя:", "поставщику:");
				}
			}
			//ФормаДокумента.ЭлементыФормы.НадписьСделка.Заголовок = НадписьСделка;
		}
		// УстановитьНадписьСделки()
		// Устанавливает текст надписи заголовка суммы взаиморасчетов на форме документа
		//
		// Параметры:
		//  ДокументОбъект     - объект документа,
		//  ФормаДокумента     - форма документа.
		//

		public void УстановитьНадписьСуммыВзаиморасчетов(/*ДокументОбъект, ФормаДокумента*/)
		{
			//ВалютаВзаиморасчетовПоДоговору = ДокументОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов;
			if(true/*НЕ ЗначениеЗаполнено(ВалютаВзаиморасчетовПоДоговору)*/)
			{
				//ФормаДокумента.ЭлементыФормы.НадписьСуммаВзаиморасчетов.Заголовок = "Сумма <нет валюты>:";
			}
		}
		// УстановитьНадписьСуммыВзаиморасчетов()
		// Устанавливает видимость переданных колонок в табличной части документа.
		//
		// Параметры:
		//  КолонкиТабПоля   - коллекция колонок табличного поля,
		//  СтруктураКолонок - структура, содержащая имена колонок, видимость которых надор установить,
		//  ПризнакВидимости - булево, признак видимости.
		//

		public void УстановитьВидимостьКолонок(/*КолонкиТабПоля, СтруктураКолонок, ПризнакВидимости*/)
		{
			if(true/*ПризнакВидимости*/)
			{
			}
		}
		// УстановитьВидимостьКолонок()
		// Устанавливает видимость колоки "ХарактеристикаНоменклатуры" в табличной части документа
		//
		// Параметры:
		//  КолонкиТабПоля   - коллекция колонок табличного поля
		//  СтруктураКолонок - структура, содержащая имена колонок
		//                     по умолчанию "ХарактеристикаНоменклатуры"
		//

		public void УстановитьВидимостьХарактеристикиНоменклатуры(/*КолонкиТабПоля, СтруктураКолонок = Неопределено*/)
		{
			if(true/*СтруктураКолонок = Неопределено*/)
			{
				//СтруктураКолонок = Новый Структура("ХарактеристикаНоменклатуры");
			}
			//ИспользоватьХарактеристики = Константы.ИспользоватьХарактеристикиНоменклатуры.Получить();
			//УстановитьВидимостьКолонок(КолонкиТабПоля, СтруктураКолонок, ИспользоватьХарактеристики);
		}
		// УстановитьВидимостьХарактеристикиНоменклатуры()
		// Устанавливает видимость колонки "СерияНоменклатуры" в табличной части документа
		//
		// Параметры:
		//  КолонкиТабПоля   - коллекция колонок табличного поля
		//  СтруктураКолонок - структура, содержащая имена колонок
		//                     по умолчанию "СерияНоменклатуры"
		//

		public void УстановитьВидимостьСерииНоменклатуры(/*КолонкиТабПоля, СтруктураКолонок = Неопределено*/)
		{
			if(true/*СтруктураКолонок = Неопределено*/)
			{
				//СтруктураКолонок = Новый Структура("СерияНоменклатуры");
			}
			//ИспользоватьСерии = Константы.ИспользоватьСерииНоменклатуры.Получить();
			//УстановитьВидимостьКолонок(КолонкиТабПоля, СтруктураКолонок, ИспользоватьСерии);
		}
		// УстановитьВидимостьСерииНоменклатуры()
		// Устанавливает видимость колонки "Принадлежность номенклатуры" в табличной части документа
		//
		// Параметры:
		//  КолонкиТабПоля   - коллекция колонок табличного поля
		//  ДатаДокумента    - дата документа
		//  СтруктураКолонок - структура, содержащая имена колонок
		//                     по умолчанию "СерияНоменклатуры"
		//

		public void УстановитьВидимостьПринадлежностиНоменклатуры(/*КолонкиТабПоля, ДатаДокумента, СтруктураКолонок = Неопределено*/)
		{
			if(true/*СтруктураКолонок = Неопределено*/)
			{
				//СтруктураКолонок = Новый Структура("ПринадлежностьНоменклатуры");
			}
			//ИспользоватьПринадлежностьНоменклатуры = УправлениеЗапасами.ИспользуетсяРасширеннаяАналитикаУчета(ДатаДокумента);
			//УстановитьВидимостьКолонок(КолонкиТабПоля, СтруктураКолонок, ИспользоватьПринадлежностьНоменклатуры);
		}
		// УстановитьВидимостьСерииНоменклатуры()
		// Устанавливает видимость колонки "Проект" в табличной части производственных документов.
		//
		// Параметры:
		//  КолонкиТабПоля   - коллекция колонок табличного поля
		//  СтруктураКолонок - структура, содержащая имена колонок
		//                     по умолчанию "ЗаказНаПроизводство"
		//

		public void УстановитьВидимостьКолонкиПроект(/*КолонкиТабПоля, СтруктураКолонок = Неопределено, УказаниеПроектовВТабличнойЧастиДокументов = Неопределено*/)
		{
			if(true/*СтруктураКолонок = Неопределено*/)
			{
				//СтруктураКолонок = Новый Структура("Проект");
			}
			if(true/*УказаниеПроектовВТабличнойЧастиДокументов = Неопределено*/)
			{
				//УказаниеПроектовВТабличнойЧастиДокументов = УправлениеПроектами.УказаниеПроектовВТабличнойЧастиДокументов();
			}
			//УстановитьВидимостьКолонок(КолонкиТабПоля, СтруктураКолонок, УказаниеПроектовВТабличнойЧастиДокументов);
		}
		// УстановитьВидимостьКолонкиПроект()
		// Устанавлеивает видимость колонки "Склад" в табличной части формы документа
		// в зависимости от настройки использования складов в табличных частях документов.
		//
		// Параметры:
		//  КолонкиТовары            – коллекция колонок табличного поля "Товары",
		//  КолонкиВозвратнаяТара    – коллекция колонок табличного поля "ВозвратнаяТара",
		//                             необязательный, если не передан, то видимость колонки не устанавливается,
		//  ЭУСклад                  - ЭУ формы, в который вводится склад в шапке,
		//  ИмяКолонкиСклад          - Строка, имя колонки склада, в которые вводится склад в ТЧ (имена должны быть одинаковыми в обоих ТЧ),
		//  ИспользоватьКолонкуСклад - булево, определяет указываеются ли склады в табличной части документа или они указываются только в шапке.
		//

		public void УстановитьВидимостьОбязательностьСклада(/*КолонкиТовары, КолонкиВозвратнаяТара = Неопределено, ЭУСклад, 
                                                  ИмяКолонкиСклад = "Склад", ИспользоватьКолонкуСклад, 
                                                  КолонкиОборудование = Неопределено*/)
		{
			//ИспользоватьВозвратнуюТару = Константы.ИспользоватьВозвратнуюТару.Получить();
			/*// Установим видимость колонки
*/
			//СтруктураКолонок = Новый Структура("Склад");
			//УстановитьВидимостьКолонок(КолонкиТовары, СтруктураКолонок, ИспользоватьКолонкуСклад);
			if(true/*КолонкиОборудование <> Неопределено*/)
			{
				//УстановитьВидимостьКолонок(КолонкиОборудование, СтруктураКолонок, ИспользоватьКолонкуСклад);
			}
			if(true/*ИспользоватьВозвратнуюТару И КолонкиВозвратнаяТара <> Неопределено*/)
			{
				//УстановитьВидимостьКолонок(КолонкиВозвратнаяТара, СтруктураКолонок, ИспользоватьКолонкуСклад);
			}
			/*//Установим автоотметки незаполненного.
*/
			if(true/*ИспользоватьКолонкуСклад*/)
			{
				//КолонкиТовары[ИмяКолонкиСклад].АвтоотметкаНеЗаполненного = Истина;
				if(true/*ИспользоватьВозвратнуюТару И КолонкиВозвратнаяТара <> Неопределено*/)
				{
					//КолонкиВозвратнаяТара[ИмяКолонкиСклад].АвтоотметкаНеЗаполненного = Истина;
				}
				if(true/*КолонкиОборудование <> Неопределено*/)
				{
					//КолонкиОборудование[ИмяКолонкиСклад].АвтоотметкаНеЗаполненного = Истина;
				}
				//ЭУСклад.АвтоотметкаНеЗаполненного   = Ложь;
				//ЭУСклад.ОтметкаНеЗаполненного       = Ложь;
			}
		}
		// УстановитьВидимостьКолонкиСклад()
		// Устанавливает видимость колонки "ЗаказПоставщику" или "ЗаказПокупателя" в табличной части формы документа
		// в зависимости от настройки использования заказов в табличных частях документов.
		//
		// Параметры:
		//  ДокументВидОперации   – вид операции документа,
		//  ДоговорКонтрагента    – договор с контрагентом,
		//  КолонкиТовары         – коллекция колонок табличного поля "Товары",
		//  КолонкиВозвратнаяТара – коллекция колонок табличного поля "ВозвратнаяТара",
		//                          необязательный, если не передан, то видимость колонки не устанавливается,
		//  КолонкиУслуги         – коллекция колонок табличного поля "Услуги",
		//                          необязательный, если не передан, то видимость колонки не устанавливается,
		//  ЭУЗаказ               - ЭУ формы, в который вводится заказ в шапке,
		//  ИмяКолонкиЗаказ       - строка, имя колонки заказа, в которые вводится заказ в ТЧ (имена должны быть одинаковыми во всех ТЧ),
		//  ВидОперации           - строка, определяет вид операции, возможнве значения "Поступление", "Реализация","ПоступлениеНТТ", "РеализацияСчет", "ВозвратОтПокупателя"
		//                          по умолчанию "Реализация".
		//

		public void УстановитьВидимостьКолонкиЗаказ(/*ЭлементыФормы, ДокументВидОперации, ДоговорКонтрагента, КолонкиТовары, КолонкиВозвратнаяТара = Неопределено, КолонкиУслуги = Неопределено, КолонкиОборудование = Неопределено, КолонкиВзаиморасчеты = Неопределено, ЭУЗаказ, ИмяКолонкиЗаказ = "ЗаказПокупателя", ВидОперации = "Реализация", ИмяКолонкиСделка = "Сделка"*/)
		{
			//ИспользоватьКолонкуЗаказ = УправлениеЗаказами.ИспользоватьЗаказВТабличнойЧасти(ДокументВидОперации, ДоговорКонтрагента, ВидОперации);
			//ОтмечатьНезаполненные = (ИспользоватьКолонкуЗаказ.ОбязательноеЗаполнениеЗаказаВТабЧасти) И (ВидОперации <> "РеализацияСчет");
			if(true/*ИспользоватьКолонкуЗаказ.ОбязательноеЗаполнениеЗаказаВТабЧасти ИЛИ ИспользоватьКолонкуЗаказ.ИспользоватьЗаказВТабЧасти*/)
			{
				//ИспользоватьКолонкуЗаказ = Истина;
			}
			if(true/*ДокументВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ОбъектыСтроительства
		ИЛИ ДокументВидОперации = Перечисления.ВидыОперацийПоступлениеТоваровУслугВНТТ.ВнутреннееПеремещение*/)
			{
				//ИспользоватьКолонкуЗаказ = Ложь;
			}
			//ИспользоватьВозвратнуюТару = Константы.ИспользоватьВозвратнуюТару.Получить();
			/*// Установим видимость колонки
*/
			//КолонкиТовары[ИмяКолонкиЗаказ].ИзменятьВидимость = Ложь;
			//КолонкиТовары[ИмяКолонкиЗаказ].Видимость         = ИспользоватьКолонкуЗаказ;
			if(true/*ВидОперации<>"ВозвратОтПокупателя"*/)
			{
				//ЭлементыФормы.КоманднаяПанельТовары.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеОтобратьИЗаполнитьПоЗаказам.Доступность = ИспользоватьКолонкуЗаказ;
			}
			if(true/*ИспользоватьВозвратнуюТару И КолонкиВозвратнаяТара <> Неопределено*/)
			{
				//КолонкиВозвратнаяТара[ИмяКолонкиЗаказ].ИзменятьВидимость = Ложь;
				//КолонкиВозвратнаяТара[ИмяКолонкиЗаказ].Видимость         = ИспользоватьКолонкуЗаказ;
				if(true/*ВидОперации<>"ВозвратОтПокупателя"*/)
				{
					//ЭлементыФормы.КоманднаяПанельВозвратнаяТара.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеОтобратьИЗаполнитьПоЗаказам.Доступность = ИспользоватьКолонкуЗаказ;
				}
			}
			if(true/*КолонкиУслуги <> Неопределено*/)
			{
				//КолонкиУслуги[ИмяКолонкиЗаказ].ИзменятьВидимость = Ложь;
				//КолонкиУслуги[ИмяКолонкиЗаказ].Видимость         = ИспользоватьКолонкуЗаказ;
				//ЭлементыФормы.КоманднаяПанельУслуги.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеОтобратьИЗаполнитьПоЗаказам.Доступность = ИспользоватьКолонкуЗаказ;
			}
			if(true/*КолонкиОборудование <> Неопределено*/)
			{
				//КолонкиОборудование[ИмяКолонкиЗаказ].ИзменятьВидимость = Ложь;
				//КолонкиОборудование[ИмяКолонкиЗаказ].Видимость         = ИспользоватьКолонкуЗаказ;
				//ЭлементыФормы.КоманднаяПанельОборудование.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеОтобратьИЗаполнитьПоЗаказам.Доступность = ИспользоватьКолонкуЗаказ;
			}
			/*//Установим автоотметки незаполненного.
*/
			if(true/*ОтмечатьНезаполненные*/)
			{
				//КолонкиТовары[ИмяКолонкиЗаказ].АвтоотметкаНеЗаполненного = Истина;
				if(true/*ИспользоватьВозвратнуюТару И КолонкиВозвратнаяТара <> Неопределено*/)
				{
					//КолонкиВозвратнаяТара[ИмяКолонкиЗаказ].АвтоотметкаНеЗаполненного = Истина;
				}
				if(true/*КолонкиУслуги <> Неопределено*/)
				{
					//КолонкиУслуги[ИмяКолонкиЗаказ].АвтоотметкаНеЗаполненного = Истина;
				}
				if(true/*КолонкиОборудование <> Неопределено*/)
				{
					//КолонкиОборудование[ИмяКолонкиЗаказ].АвтоотметкаНеЗаполненного = Истина;
				}
				if(true/*КолонкиВзаиморасчеты <> Неопределено*/)
				{
					//КолонкиВзаиморасчеты[ИмяКолонкиСделка].Видимость = Истина;
					//КолонкиВзаиморасчеты[ИмяКолонкиСделка].АвтоотметкаНеЗаполненного = Истина;
				}
				//ЭУЗаказ.АвтоотметкаНеЗаполненного = Ложь;
				//ЭУЗаказ.ОтметкаНеЗаполненного     = Ложь;
			}
		}
		// УстановитьВидимостьКолонкиЗаказ()
		// Процедура устанавливает видимость реквизита проект в зависимости от учетной политики
		//
		//		Параметры:
		//
		//

		public void УстановитьВидимостьПроекта(/*ДокументОбъект = Неопределено, ЭлементыФормы, Знач Реквизиты, ДокументУчетаЗатрат = Ложь*/)
		{
			if(true/*ПустаяСтрока(Реквизиты)*/)
			{
			}
			//ВедениеУчетаПоПроектам = УправлениеПроектами.ВедениеУчетаПоПроектам();
			if(true/*ДокументУчетаЗатрат И ВедениеУчетаПоПроектам И УправлениеПроектами.ВедениеУчетаЗатратПоПроектам()*/)
			{
			}
			//Реквизиты = СтрЗаменить(Реквизиты, ",", Символы.ПС);
		}
		// УстановитьВидимостьПроекта()
		// Устанавливает видимость закладки "Возвратная тара" в форме документа
		//
		// Параметры:
		//  ФормаДокумента - форма документа.
		//

		public void УстановитьВидимостьЗакладкиВозвратнаяТара(/*ФормаДокумента*/)
		{
			//ИспользоватьВозвратнуюТару = ?(ФормаДокумента.ВозвратнаяТара.Количество() = 0, Константы.ИспользоватьВозвратнуюТару.Получить(), Истина);
			//СтраницыПанели                  = ФормаДокумента.ЭлементыФормы.ОсновнаяПанель.Страницы;
			//СтраницыПанели.Тара.Видимость   = ИспользоватьВозвратнуюТару;
			//СтраницыПанели.Тара.Доступность = ИспользоватьВозвратнуюТару;
		}
		// УстановитьВидимостьЗакладкиВозвратнаяТара()
		// Процедура в зависимости от вида поступления устанавливает тип для реквизита "СкладОрдер"
		//
		// Параметры:
		//  ДокументОбъект - объект документа,
		//  ЭлементыФормы  - элементы формы,
		//  ВидОперации    - строка, определяет вид операции,возможнве значения "Поступление", "Возврат",
		//                   по умолчанию "Поступление".
		//

		public void УстановитьТипСкладаОрдера(/*ДокументОбъект, ЭлементыФормы, ВидОперации = "Поступление"*/)
		{
			if(true/*ДокументОбъект.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад*/)
			{
				if(true/*ТипЗнч(ДокументОбъект.СкладОрдер)<>Тип("СправочникСсылка.Склады")*/)
				{
					//ДокументОбъект.СкладОрдер = Справочники.Склады.ПустаяСсылка();
				}
				//ТекстПодсказки = "В этом поле необходимо указать склад";
				if(true/*ВидОперации = "Поступление"*/)
				{
					//ТекстПодсказки = ТекстПодсказки + ", на который необходимо оформить поступление товаров";
				}
				//ЭлементыФормы.СкладОрдер.Подсказка = ТекстПодсказки + ".";
			}
		}
		// УстановитьТипСкладаОрдера()
		// Процедура устанавливает отбор по основной организации в указанно форме
		//

		public void УстановитьОтборПоОрганизации(/*Форма, УчетПоВсемОрганизациям, ОсновнаяОрганизация, ИмяРеквизитаСписка, СкрыватьКолонку = Истина, ИмяОтбора = "Организация"*/)
		{
			/*// В том случае если учет ведется по одной организации необходимо установить мягкий отбор.
*/
			/*// т.е. отбор, с возможностью его изменения.
*/
			if(true/*НЕ УчетПоВсемОрганизациям*/)
			{
				/*// Установлен режим учета по одной организации
*/
				if(true/*НЕ (ТипЗнч(Форма[ИмяРеквизитаСписка]) = Тип("ТаблицаЗначений"))*/)
				{
					/*// Элемент - табличное поле
*/
					/*// Проверим - Если это связанный регитср сведений тогда не нужно устанавливать отбор - 
*/
					/*// он уже установлен системой автоматически
*/
					if(true/*ИмяРеквизитаСписка = "РегистрСведенийСписок"*/)
					{
						/*// Возвможно это переход по кнопке ПЕрейти
*/
						if(true/*ТипЗнч(Форма.ПараметрОтборПоИзмерению) = Тип("Структура")*/)
						{
							if(true/*ЗначениеЗаполнено(Форма.ПараметрОтборПоИзмерению)*/)
							{
								/*// Это переход по кнопке Перейти - не нужно устанавливать отбор
*/
							}
						}
					}
					//Форма[ИмяРеквизитаСписка].Отбор[ИмяОтбора].ВидСравнения  = ВидСравнения.Равно;
					//Форма[ИмяРеквизитаСписка].Отбор[ИмяОтбора].Использование = Истина;
					//Форма[ИмяРеквизитаСписка].Отбор[ИмяОтбора].Значение      = ОсновнаяОрганизация;
					//Форма.ЭлементыФормы[ИмяРеквизитаСписка].НастройкаОтбора[ИмяОтбора].Доступность = Ложь;
				}
				if(true/*СкрыватьКолонку*/)
				{
					if(true/*НЕ Форма.ЭлементыФормы[ИмяРеквизитаСписка].Колонки.Найти(ИмяОтбора) = Неопределено*/)
					{
						//Форма.ЭлементыФормы[ИмяРеквизитаСписка].Колонки[ИмяОтбора].Видимость         = Ложь;
						//Форма.ЭлементыФормы[ИмяРеквизитаСписка].Колонки[ИмяОтбора].ИзменятьВидимость = Ложь;
					}
				}
			}
		}
		// УстановитьОтборПоОрганизации()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ГПУ ПРЕДСТАВЛЕНИЯ ДАННЫХ
		// Формирует текст про счет-фактуру для показа в форме документа
		//
		// Параметры:
		//  СчетФактура - ссылка на документ, определяет счет-фактуру, про который надо получить текстовую строку .
		//
		// Возвращаемое значение:
		//  Текстовая строка про счет-фактуру.
		//

		public object ПолучитьТекстСчетаФактуры(/*СчетФактура, ДокументОснование = Неопределено, Гиперссылка = Неопределено*/)
		{
			if(true/*Не ЗначениеЗаполнено(СчетФактура)*/)
			{
				//Гиперссылка = Истина;
			}
			return null;
		}
		// ПолучитьТекстСчетаФактуры()
		// Процедура формирует и выводит текст в информационной надписи о величине долга контрагента.
		//
		// Параметры:
		//  ДоговорКонтрагента    - ссылка на справочник, определяет договор контрагента;
		//  Сделка                   - ссылка на документ или Неопределено, определяет сделку;
		//  ЭлементФормыНадписьДолга - элемент формы, содержащий надпись долга;
		//  СсылкаДокумент           - ссылка на документ, из которого вызывается процедура.
		//  МожноНеРассчитывать      - если можно не рассчитывать долг, а в дополнительных правах "Рассчитывать долг при открытии форм" = ложь,
		//                             то величина долга рассчитываться не будет
		//

		public void СформироватьНадписьДолга(/*ДоговорКонтрагента, Сделка, ЭлементФормыНадписьДолга, 
	                                 СсылкаДокумент = Неопределено, МожноНеРассчитывать = Ложь*/)
		{
			if(true/*МожноНеРассчитывать*/)
			{
				if(true/*НЕ УправлениеДопПравамиПользователей.РассчитыватьДолгПриОткрытииФорм()*/)
				{
					//ЭлементФормыНадписьДолга.Заголовок = ПолучитьТекстДолга(ДоговорКонтрагента, Неопределено);
				}
			}
			if(true/*ТипЗнч(ДоговорКонтрагента) = Тип("СправочникСсылка.ДоговорыКонтрагентов")*/)
			{
				//ЭлементФормыНадписьДолга.Заголовок = ТекстДолга;
			}
		}
		// СформироватьНадписьДолга()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ГПУ ВВОДА ДАННЫХ
		// Выполняет общие для всех документов действия при нажатии на гиперссылку на Счет-фактуру
		//
		// Параметры:
		//  ДокументОбъект  - объект документа,
		//  ФормаДокумента  - форма документа.
		//  ВидСчетаФактуры - строка, вид счета-фактуры, по умолчанию "СчетФактураВыданный"
		//

		public void ВвестиСчетФактуру(/*ДокументОбъект, ФормаДокумента, ВидСчетаФактуры = "СчетФактураВыданный", Отбор = Неопределено*/)
		{
			if(true/*(Не ДокументОбъект.Проведен) и (Не ДокументОбъект.ПометкаУдаления)*/)
			{
				//Ответ = Вопрос("Счет-фактуру нельзя вводить на основании не проведенного документа! Провести документ?", РежимДиалогаВопрос.ДаНет);
				if(true/*Ответ = КодВозвратаДиалога.Да*/)
				{
				}
			}
			/*//Попытаемся найти счет фактуру
*/
			//СчетФактура = УчетНДС.НайтиПодчиненныйСчетФактуру(ДокументОбъект.Ссылка, ВидСчетаФактуры, Отбор);
			//ОбъектСчетаФактуры = Неопределено;
			/*//Если потерпели неудачу, то необходимо ввести новый документ 
*/
			if(true/*(Не ЗначениеЗаполнено(СчетФактура))
	   И (Не ДокументОбъект.ПометкаУдаления)*/)
			{
				/*//Вводим новый документ на основании нашего
*/
				if(true/*ДокументОбъект.Модифицированность()*/)
				{
					//Предупреждение("Документ был изменен! Сначала следует записать документ!");
				}
				//ОбъектСчетаФактуры = Документы[ВидСчетаФактуры].СоздатьДокумент();
				/*// Если установлен отбор по виду счета-фактуры (на реализацию/на аванс...) - устанавливаем его в новом документе
*/
				if(true/*ТипЗнч(Отбор) = Тип("Структура") И Отбор.Свойство("ВидСчетаФактуры")*/)
				{
					//ОбъектСчетаФактуры.ВидСчетаФактуры = Отбор.ВидСчетаФактуры;
				}
				//ОбъектСчетаФактуры.Заполнить(ДокументОбъект.Ссылка);
				/*// Откроем форму для редактирования счета фактуры
*/
				//ФормаСчетаФактуры = ОбъектСчетаФактуры.ПолучитьФорму( , ФормаДокумента, Строка(ДокументОбъект));
				//ФормаСчетаФактуры.Открыть();
			}
		}
		// ВвестиСчетФактуру()

		public void УстановитьСписокПоляВыбора(/*ПолеВыбора, Список*/)
		{
			//ПрошлоеЗначение = ПолеВыбора.Значение;
			//ПолеВыбора.СписокВыбора = Список;
			if(true/*ЗначениеЗаполнено(ПрошлоеЗначение)*/)
			{
				if(true/*Список.НайтиПоЗначению(ПрошлоеЗначение) <> Неопределено*/)
				{
					if(true/*НЕ ПолеВыбора.Значение = ПрошлоеЗначение*/)
					{
						//ПолеВыбора.Значение = ПрошлоеЗначение;
					}
				}
			}
		}
		// УстановитьСписокПоляВыбора()
		// Процедура проверяет принадлежность реквизита типа ПодразделениеОрганизации
		// выбранной организации.
		//
		// Параметры:
		//  ДокументОбъект - объект документ, в форме которого произошло событие
		//  ТекПользователь - текущий пользователь, настройки которого используются
		//                 по умолчанию
		//  НазваниеРеквизитаСубконто - название проверяемого реквизита
		//  Субконто     - значение проверяемого реквизита
		//

		public void ПроверитьСубконтоПодразделение(/*ДокументОбъект, ТекПользователь, Организация, НазваниеРеквизитаСубконто, Субконто*/)
		{
			if(true/*ТипЗнч(Субконто) = Тип("СправочникСсылка.ПодразделенияОрганизаций")*/)
			{
				//ПодразделениеПоУмолчанию = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОсновноеПодразделениеОрганизации");
				/*// Если субконто не заполнено.
*/
				if(true/*НЕ ЗначениеЗаполнено(Субконто)*/)
				{
					/*// Если субконто сооответствует выбранной организации, подставляем его.
*/
					if(true/*ПодразделениеПоУмолчанию.Владелец = Организация*/)
					{
						//ДокументОбъект[НазваниеРеквизитаСубконто] = ПодразделениеПоУмолчанию;
					}
				}
			}
		}
		// ПроверитьСубконтоПодразделение()
		// Процедура - обработчик события ПриИзменении поля ввода Организация
		//
		// Параметры:
		//	ДокументОбъект - объект документ в форме которого произошло событие
		//  ТекПользователь - текущий пользователь, настройки которого используются
		//                 по умолчанию
		//  СтруктураРеквизитов - структура с названиеями и значениями реквизитов,
		//                 кот.необходимо проверить
		//

		public void ПроверитьВладельцаСубконтоПодразделение(/*ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов*/)
		{
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоБУ1") И СтруктураРеквизитов.Свойство("СубконтоБУ1")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоБУ1, СтруктураРеквизитов.СубконтоБУ1);
			}
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоБУ2") И СтруктураРеквизитов.Свойство("СубконтоБУ2")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоБУ2, СтруктураРеквизитов.СубконтоБУ2);
			}
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоБУ3") И СтруктураРеквизитов.Свойство("СубконтоБУ3")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоБУ3, СтруктураРеквизитов.СубконтоБУ3);
			}
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоНУ1") И СтруктураРеквизитов.Свойство("СубконтоНУ1")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоНУ1, СтруктураРеквизитов.СубконтоНУ1);
			}
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоНУ2") И СтруктураРеквизитов.Свойство("СубконтоНУ2")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоНУ2, СтруктураРеквизитов.СубконтоНУ2);
			}
			if(true/*СтруктураРеквизитов.Свойство("НазваниеСубконтоНУ3") И СтруктураРеквизитов.Свойство("СубконтоНУ3")*/)
			{
				//ПроверитьСубконтоПодразделение(ДокументОбъект, ТекПользователь, Организация, СтруктураРеквизитов.НазваниеСубконтоНУ3, СтруктураРеквизитов.СубконтоНУ3);
			}
		}
		// ПроверитьВладельцаПодразделения()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ ИНФОРМАЦИИ В ФОРМЕ
		// Процедура определяет ситуацию, когда при изменении своей даты документ
		//  оказывается в другом периоде нумерации документов, и в это м случае
		//  присваивает документу новый уникальный номер.
		//
		// Параметры:
		//  ДокументОбъект         - контекст документа,из которого вызвана процедура
		//  НачальнаяДатаДокумента - начальная дата документа
		//

		public void ПроверитьНомерДокумента(/*ДокументОбъект, НачальнаяДатаДокумента*/)
		{
			/*// в разработке
*/
			/*// Определяем назначенную для данного вида документов периодичность смены номера
*/
			//ПериодСменыНомера = ДокументОбъект.Метаданные().ПериодичностьНомера;
			/*//В зависимости от установленной периодичности смены номеров,
*/
			/*//определяем разность старой и новой датами документа.
*/
			if(true/*ПериодСменыНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Год*/)
			{
				//РазностьДат = НачалоГода(НачальнаяДатаДокумента) - НачалоГода(ДокументОбъект.Дата);
			}
			if(true/*РазностьДат <> 0*/)
			{
				//ДокументОбъект.Номер = "";
			}
		}
		// ПроверитьНомерДокумента()
		// Функция спрашивает пользователя записать ли объект, или нет, если он новый
		//
		// Параметры
		//  ФормаОбъекта - Форма объекта, из которой пытаются произвести действия
		//
		// Возвращаемое значение:
		//   Булево - Объект записан или нет
		//

		public object ЗаписатьНовыйОбъектВФорме(/*ФормаОбъекта*/)
		{
			if(true/*ФормаОбъекта.ЭтоНовый()*/)
			{
				if(true/*Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(ФормаОбъекта.ЭтотОбъект.Ссылка))*/)
				{
					//ТекстВопроса = "Для выполнения данной операции необходимо записать документ. Записать?";
				}
				//Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
				if(true/*Ответ <> КодВозвратаДиалога.Да*/)
				{
				}
			}
			return null;
		}
		// ЗаписатьНовыйОбъектВФорме()
		// Процедура проверяет соответсвие ИНН требованиям, устанавливает цвет
		// текста в поле ввода и подсказку
		//
		// Параметры
		//  ИНН  - ИНН Организации
		//  ПолеВвода  - поле ввода в котором вводится ИНН
		//  ЮрФИзЛицо - значение перечисления ЮрФИзЛицо
		//

		public void ПроверитьИННОформитьПолеВвода(/*ИНН, ПолеВвода, ЮрФИзЛицо*/)
		{
			if(true/*ЗначениеЗаполнено(ИНН) и Не РегламентированнаяОтчетность.ИННСоответствуетТребованиям(ИНН, ЮрФИзЛицо)*/)
			{
				//ПолеВвода.ЦветТекстаПоля = ЦветаСтиля.ЦветОсобогоТекста;
				//ПолеВвода.Подсказка = "Ошибка в ИНН";
			}
		}
		// ПроверитьИННОформитьПолеВвода()
		// Процедура проверяет соответсвие ОГРН требованиям, устанавливает цвет
		// текста в поле ввода и подсказку
		//
		// Параметры
		//  ОГРН  - ОГРН Организации
		//  ЮрФизЛицо - вид юлица
		//  ПолеВвода  - поле ввода в котором вводится ИНН
		//

		public void ПроверитьОГРНОформитьПолеВвода(/*ОГРН, ЮрФизЛицо, ПолеВвода*/)
		{
			//ТекстСообщенияОшибки = "";
			if(true/*ЗначениеЗаполнено(ОГРН) и Не ОбщегоНазначенияПереопределяемый.ОГРНСоответствуетТребованиям(ОГРН, ЮрФизЛицо, ТекстСообщенияОшибки)*/)
			{
				//ПолеВвода.ЦветТекстаПоля = ЦветаСтиля.ЦветОсобогоТекста;
				//ПолеВвода.Подсказка = ТекстСообщенияОшибки;
			}
		}
		// ПроверитьОГРНОформитьПолеВвода()
		// Процедура проверяет соответсвие КПП требованиям, устанавливает цвет
		// текста в поле ввода и подсказку
		//
		// Параметры
		//  КПП  - КПП Организации
		//  ЮрФизЛицо - вид юлица
		//  ПолеВвода  - поле ввода в котором вводится ИНН
		//

		public void ПроверитьКППОрганизацииОформитьПолеВвода(/*КПП, ЮрФизЛицо, ПолеВвода*/)
		{
			//ТекстСообщенияОшибки = "";
			if(true/*ЗначениеЗаполнено(КПП) и Не ОбщегоНазначенияПереопределяемый.КППОрганизацииСоответствуетТребованиям(КПП, ТекстСообщенияОшибки)*/)
			{
				//ПолеВвода.ЦветТекстаПоля = ЦветаСтиля.ЦветОсобогоТекста;
				//ПолеВвода.Подсказка = ТекстСообщенияОшибки;
			}
		}
		// ПроверитьКППОрганизацииОформитьПолеВвода()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПОДГОТОВКИ ИНФОРМАЦИИ В ФОРМЕ
		// Процедура возвращает паспортные данные физлица в виде строки
		//
		// Параметры:
		//  Валюта                         - Валюта, курс которой необходимо отобразить
		//  Курс                           - курс, которой необходимо отобразить
		//  Кратность                      - кратность, которую необходимо отобразить
		//  ВалютаРегламентированногоУчета - валюта регламентированного учета
		//  СформироватьСкобки             - признак необходимости скобок
		//
		// Возвращаемое значение:
		//  Строка с данными о курсе и кратности валюты
		//

		public object ПолучитьИнформациюКурсаВалютыСтрокой(/*Валюта, Курс, Кратность, ВалютаРегламентированногоУчета, СформироватьСкобки = Ложь*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(Валюта)*/)
			{
			}
			return null;
		}
		// ПолучитьИнформациюКурсаВалютыСтрокой()
		// Формирует текст о долге контрагента для вывода его в форме документа
		//
		// Параметры:
		//  ДоговорКонтрагента - ссылка на элемент справочника, определяет договор контрагента
		//  Долг                  - число, сумма долга.
		//
		// Возвращаемое значение:
		//  Строка, сформированный текст про долг контрагента.
		//

		public object ПолучитьТекстДолга(/*ДоговорКонтрагента, Знач Долг*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ДоговорКонтрагента)*/)
			{
			}
			/*ТекстПодписи = ?(ДоговорКонтрагента.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом,
	               "По договору","По сделке");*/
			if(true/*ДоговорКонтрагента.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Прочее*/)
			{
				//ТекстПодписи = ТекстПодписи + " """ + Нрег(ДоговорКонтрагента.ВидДоговора) + """";
			}
			if(true/*Долг = Неопределено*/)
			{
				//ТекстПодписи = ТекстПодписи + " долг не рассчитан";
			}
			return null;
		}
		// ПолучитьТекстДолга()
		// Заполняет список пунктов подменю выбора вида операции значениями переданной коллекции объектов метаданных,
		// соответствующей перечислению видов операций для данного документа.
		// Всем кнопкам назначается одно переданное действие.
		// Обычно используется для заполнения пунктов подменю "ПодменюВидаОперации" командной панели
		// формы документа значениями перечисления "Вид операции" для данного вида документа
		//
		// Параметры:
		//  ЭлементМеню                   - кнопка командной панели формы, соответствующая подменю, которое надо заполнить,
		//  ОбъектЗаполнения              - коллекция для заполнения пунктов подменю,
		//  ОбъектОбработкиВыбораОперации - действие, которое надо выполнить при выборе любого пункта подменю.
		//

		public void УстановитьПодменюВыбораВидаОперации(/*ЭлементМеню, ОбъектЗаполнения, ОбъектОбработкиВыбораОперации*/)
		{
			//МассивНедоступныхВидовОпераций = ПолучитьМассивНедоступныхВидовОпераций();
		}
		// УстановитьПодменюВыбораВидаОперации()
		// Процедура удаляет кнопку "Права" из командной панели формы
		//
		// Параметры
		//  Кнопки  – <КнопкиКоманднойПанели> – <описание параметра>
		//

		public void УдалитьКнопкуПрава(/*Кнопки*/)
		{
			if(true/*Кнопки.Найти("Права") <> Неопределено*/)
			{
				if(true/*НЕ ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей 
			ИЛИ НЕ УправлениеДопПравамиПользователей.ЕстьПравоАдминистрированияПользователей()*/)
				{
					//Кнопки.Удалить(Кнопки.Права);
					//Кнопки.Удалить(Кнопки.РазделительПрава);
				}
			}
		}
		// УдалитьКнопкуПрава()
		//настройка подменю Клиент-Банк

		public void УстановкаПодменюКлиентБанк(/*Кнопка, Объект*/)
		{
			if(true/*Объект.РеквизитыКонтрагента.Количество() = 0*/)
			{
				//Кнопка.Доступность =Ложь;
			}
		}
		// УстановкаПодменюКлиентБанк()
		// Возвращает массив документов из оформления строк табличного поля,
		// если видна хотя бы одна из колонок

		public object ПолучитьМассивДокументов(/*ОформленияСтрок, КоллекцияКолонокТабличногоПоля, СтруктураКолонок, ИмяРеквизита*/)
		{
			//МассивДокументов = Новый Массив;
			//ЗаполнитьМассив = Ложь;
			if(true/*НЕ ЗаполнитьМассив*/)
			{
			}
			return null;
		}
		// ПолучитьМассивДокументов()
		// Процедура выполняет запись и проведение документа
		//
		// Параметры
		//  <форма>         – <форма>  – <форма документа которую необходимо записать>
		//  <НеПроведен>    - <Булево> - ссылочный параметр, признак успешного проведения текущей процедурой документа
		//  <Предупреждать> - <Булево> - выводить предупреждение в случае неудачного проведения документа
		//

		public void ПровестиДокументВФормеОперативно(/*форма, НеПроведен = Ложь, Предупреждать = Истина*/)
		{
			//РежимДокумента = форма.ИспользоватьРежимПроведения;
			//форма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Оперативный;
			//форма.ИспользоватьРежимПроведения = РежимДокумента;
		}
		// ПровестиДокументВФормеОперативно()
		// Процедура удаляет кнопку "ЭД" из командной панели формы
		// Параметры
		// 	 Кнопки – КнопкиКоманднойПанели - Кнопки командной панели форм
		// 	 ИспользованиеОбменаЭД - Булево - Признак использования обмена ЭД
		//

		public void УдалитьКнопкуЭД(/*Кнопки, ИспользоватьОбменЭД = Неопределено*/)
		{
			if(true/*ИспользоватьОбменЭД = Неопределено*/)
			{
				//ИспользоватьОбменЭД = ПолучитьФункциональнуюОпцию("ИспользоватьОбменЭД");
			}
			if(true/*ИспользоватьОбменЭД*/)
			{
			}
			if(true/*Кнопки.Найти("ЭД") <> Неопределено*/)
			{
				//Кнопки.Удалить(Кнопки.ЭД);
			}
			if(true/*Кнопки.Найти("РазделительЭД") <> Неопределено*/)
			{
				//Кнопки.Удалить(Кнопки.РазделительЭД);
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ и ФУНКЦИИ ИНФОРМИРОВАНИЯ ПОЛЬЗОВАТЕЛЯ
		// Проверяет модифицированность объкета перед печатью, и если необходимо
		// записывает его
		//
		// Параметры
		//	Объект - (ДокументОбъект.*, СправочникОбъект.*) - проверяемый объект.
		//

		public object ПроверитьМодифицированность(/*Объект*/)
		{
			if(true/*Метаданные.Документы.Содержит(Объект.Метаданные())*/)
			{
			}
			return null;
		}
		// ПроверитьМодифицированность()
		// Проверяет модифицированность документа / справочника перед печатью, и если необходимо
		// записывает его
		//
		// Параметры
		//  Объект - (ДокументОбъект.*, СправочникОбъект.*) - проверяемый документ / справочник
		//  Форма    - форма проверяемого документа / справочника
		//

		public object ПроверитьМодифицированностьВФорме(/*Объект, Форма*/)
		{
			//Результат = Ложь;
			if(true/*Форма.Модифицированность*/)
			{
				//Проведен    = Метаданные.Документы.Содержит(Объект.Метаданные()) И Объект.Проведен;
				//СтрПроведен = ?(Проведен, " и провести","");
				/*Ответ = ЗадатьВопрос("Документ изменен. Для печати его необходимо записать "+ СтрПроведен +".
		|Записать" + СтрПроведен + "?",
		РежимДиалогаВопрос.ОКОтмена, 
		КодВозвратаДиалога.Отмена,
		"Документ изменен");*/
				if(true/*Ответ = КодВозвратаДиалога.ОК*/)
				{
					if(true/*Проведен*/)
					{
						if(true/*Отказ*/)
						{
							//Возврат Результат = Истина;
						}
					}
					//Результат = Истина;
				}
			}
			return null;
		}
		// ПроверитьМодифицированность()
		// Проверяет модифицированность документа перед заполнением на основании
		//
		// Параметры
		//  Документ - проверяемый документ основания
		//

		public object ПроверитьМодифицированностьДокументаОснования(/*Документ*/)
		{
			//Результат = Ложь;
			if(true/*ЗначениеЗаполнено(Документ)*/)
			{
				//ФормаДокумента = Документ.ПолучитьФорму();
				if(true/*ФормаДокумента.Модифицированность()*/)
				{
					//ОчиститьСообщения();
					//ОбщегоНазначения.СообщитьОбОшибке("Документ " + СокрЛП(Документ) + " был изменен! Сначала следует записать документ!");
					//Результат = Истина;
				}
			}
			return null;
		}
		// ПроверитьМодифицированностьДокументаОснования()
		// Проверяет модифицированность документа перед печатью, и если необходимо
		// записывает его
		//
		// Параметры
		//	Объект - (ДокументОбъект.*) - проверяемый документ.
		//

		public object ПроверитьМодифицированностьДокумента(/*Документ*/)
		{
			//Результат = Ложь;
			if(true/*Документ.Модифицированность()*/)
			{
				//Проведен = ?(Документ.Проведен, " и провести","");
				//Ответ = ЗадатьВопрос("Документ изменен. Для печати его необходимо записать"+ Проведен +"." + Символы.ПС + "Записать" + Проведен + "?", РежимДиалогаВопрос.ОКОтмена, КодВозвратаДиалога.Отмена, "Документ изменен");
				if(true/*Ответ = КодВозвратаДиалога.ОК Или Ответ = КодВозвратаДиалога.Таймаут*/)
				{
					if(true/*Документ.Проведен*/)
					{
						//ДатаДока = НачалоДня(Документ.Дата);
						//ДатаДня  = НачалоДня(ТекущаяДата());
					}
					//Результат = Истина;
				}
			}
			return null;
		}
		// Проверяет модифицированность объекта перед печатью, и если необходимо
		// записывает его
		//
		// Параметры
		//	Объект - проверяемый документ.
		//

		public object ПроверитьМодифицированностьОбъекта(/*Объект*/)
		{
			//Результат = Ложь;
			if(true/*Объект.Модифицированность()*/)
			{
				//Ответ = ЗадатьВопрос("Объект изменен. Для печати его необходимо записать." + Символы.ПС + "Записать?", РежимДиалогаВопрос.ОКОтмена, КодВозвратаДиалога.Отмена, "Объект изменен");
				if(true/*Ответ = КодВозвратаДиалога.ОК Или Ответ = КодВозвратаДиалога.Таймаут*/)
				{
					//Объект.Записать();
					//Результат = Истина;
				}
			}
			return null;
		}
		// Процедура вызывается для вывода сообщений пользователю
		//
		// Параметры:
		//  СсылкаСправочника - ссылка на справочник, объект которого проверяется;
		//  ИмяРеквизита - строка, имя реквизита, который не заполнен.
		//

		public void СообщитьПользователюНезаполненРеквизит(/*СсылкаСправочника, ИмяРеквизита*/)
		{
			//ТекстСообщения = "Перед записью в элементе справочника """ + СсылкаСправочника.Метаданные().Синоним + """ необходимо заполнить """ + ИмяРеквизита + """!";
			//Сообщить(ТекстСообщения, СтатусСообщения.Важное);
		}
		// СообщитьПользователюНезаполненРеквизит()
		// Записывает документ спросив об этом у пользователя
		//
		// Параметры
		//  Объект        - ДокументОбъект
		//  ФормаОбъекта  – Тип - Форма
		//                 форма документа из которого вызвана функция
		//  ТекстВопроса  – Тип – Строка
		//                 текст вопроса
		//
		// Возвращаемое значение:
		//   Истина   – если не требуется запись документа или запись прошла успешно
		//   Ложь     - отказ пользователя от записи или не удачная попытка записи
		//

		public object ЗаписатьДокументПередВыполнениемДействия(/*Объект, ФормаОбъекта, ТекстВопроса*/)
		{
			if(true/*Объект.Модифицированность()*/)
			{
				//Ответ  = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ОКОтмена);
				if(true/*Ответ = КодВозвратаДиалога.ОК*/)
				{
				}
			}
			return null;
		}
		// ЗаписатьДокументПередВыполнениемДействия()
		// Записывает документ в режиме отмены проведения, спросив об этом у пользователя
		// Параметры
		//  Объект        - ДокументОбъект
		//  ФормаОбъекта  – Тип - Форма
		//                 форма документа из которого вызвана функция
		//  ТекстДействие  – Тип – Строка
		//                 текст вопроса
		//
		// Возвращаемое значение:
		//   Истина   – если не требуется запись документа или запись прошла успешно
		//   Ложь     - отказ пользователя от записи или не удачная попытка записи

		public object ЗаписатьДокументОтменивПроведениеПередВыполнениемДействия(/*Объект, ФормаОбъекта, ТекстДействие = НеОпределено, ТекстВопрос1 = НеОпределено, ТекстВопрос2 = НеОпределено*/)
		{
			if(true/*Объект.Проведен*/)
			{
				if(true/*ТекстВопрос1 = Неопределено*/)
				{
					if(true/*Вопрос("Автоматически "+ТекстДействие+" документ можно только после отмены его проведения. Выполнить отмену проведения документа?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет*/)
					{
					}
				}
			}
			return null;
		}
		// ЗаписатьДокументОтменивПроведение()
		// Записывает документ в режиме отмены проведения, проверяет необходимость очистки табличных частей, спросив об этом у пользователя
		// Параметры
		//  Объект        - ДокументОбъект
		//  ФормаОбъекта  – Тип - Форма
		//                 форма документа из которого вызвана функция
		//  ТекстВопроса1 и ТекстВопроса2  – Тип – Строка
		//                 текст вопроса
		//  ЗаписыватьДокумент - параметр определяет, производить запись документа или нет, с параметром Ложь функция
		//						 вызывается при заполнении списком, т.е. запись документа необходимо произвести
		//						 только если пользователь не откажется от заполнения списком в обработчике ОбработкаВыбора формы
		//
		// Возвращаемое значение:
		//   Истина   – если не требуется запись документа или запись прошла успешно
		//   Ложь     - отказ пользователя от записи или не удачная попытка записи

		public object ЗаписатьДокументОчиститьТаблицыПередВыполнениемДействия(/*Объект, ФормаОбъекта, ТабличныеЧасти, ТекстВопроса1, ТекстВопроса2, ЗаписыватьДокумент = Истина*/)
		{
			if(true/*Объект.Проведен*/)
			{
				/*//документ проведен, необходимо записать документ отменив проведение и очистить табличные части
*/
				if(true/*Вопрос(ТекстВопроса1, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет*/)
				{
				}
				if(true/*ЗаписыватьДокумент*/)
				{
				}
			}
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ СВОЙСТВ И КАТЕГОРИЙ ДОКУМЕНТОВ
		// Процедура выполняет открытие формы работы со свойствами документа
		//
		// Параметры:
		//  ДокументОбъект - объект редактируемого документа,
		//  ФормаДокумента - форма редактируемого документа
		//

		public void ОткрытьСвойстваДокумента(/*ДокументОбъект, ФормаДокумента*/)
		{
			if(true/*ДокументОбъект.ЭтоНовый()*/)
			{
				//Вопрос = "Перед началом работы со свойствами необходимо записать документ. Записать?";
				//Ответ  = Вопрос(Вопрос, РежимДиалогаВопрос.ОКОтмена);
				if(true/*Ответ = КодВозвратаДиалога.ОК*/)
				{
					//ФормаДокумента.ЗаписатьВФорме();
				}
			}
			//Форма = Обработки.ЗначенияСвойствОбъекта.ПолучитьФорму("ЗначенияСвойствОбъекта", ФормаДокумента, ДокументОбъект.Ссылка);
			//Форма.НазначениеСвойств      = ОбщегоНазначения.ПолучитьСписокНазначенийСвойствКатегорийОбъектовПоСсылке(ДокументОбъект.Ссылка);
			//Форма.ОбъектОтбораЗначений   = ДокументОбъект.Ссылка;
			//Форма.ОбъектОтбораНазначений = ДокументОбъект.Ссылка;
			//Форма.ПрочитатьЗаполнитьСвойстваИЗначения();
			//Форма.Открыть();
		}
		// ОткрытьСвойстваДокумента()
		// Процедура выполняет открытие формы работы с категориями документа
		//
		// Параметры:
		//  ДокументОбъект - объект редактируемого документа,
		//  ФормаДокумента - форма редактируемого документа
		//

		public void ОткрытьКатегорииДокумента(/*ДокументОбъект, ФормаДокумента*/)
		{
			if(true/*ДокументОбъект.ЭтоНовый()*/)
			{
				//Вопрос = "Перед началом работы с категориями необходимо записать документ. Записать?";
				//Ответ  = Вопрос(Вопрос, РежимДиалогаВопрос.ОКОтмена);
				if(true/*Ответ = КодВозвратаДиалога.ОК*/)
				{
					//ФормаДокумента.ЗаписатьВФорме();
				}
			}
			//Форма = Обработки.КатегорииОбъекта.ПолучитьФорму("КатегорииОбъекта", ФормаДокумента, ДокументОбъект.Ссылка);
			//Форма.ОбъектОтбораКатегорий = ФормаДокумента.Ссылка;
			//Форма.ПрочитатьЗаполнитьКатегорииОбъекта();
			//Форма.Открыть();
		}
		// ОткрытьКатегорииДокумента()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ПЛАНОВОЙ СЕБЕСТОИМОСТЬЮ
		// Процедура выполняет стандартные действия при изменении режима использования плановой себестоимости
		//
		// Параметры:
		//  ДокументОбъект                   - объект редактируемого документа
		//  ФормаДокумента                   - форма редактируемого документа
		//  ВалютаРегламентированногоУчета   - валюта регламентированного учета
		//  СтароеЗначениеРежимаИспользовать - предыдущее значение режима использования плановой себестоимости
		//

		public void ИзмененитьРежимИспользованияПлановойСебестоимости(/*ДокументОбъект, ФормаДокумента, ВалютаРегламентированногоУчета, СтароеЗначениеРежимаИспользовать = Неопределено*/)
		{
			//Колонки = ФормаДокумента.ЭлементыФормы.Товары.Колонки;
			//Надпись = ФормаДокумента.ЭлементыФормы.ИнфНадписьИтоговоеОтклонениеОтПлановойСебестоимости;
			if(true/*ДокументОбъект.ИспользоватьПлановуюСебестоимость*/)
			{
				if(true/*СтароеЗначениеРежимаИспользовать = Ложь*/)
				{
					/*// Пользователь изменил режим с "не использовать" на "использовать".
*/
					/*// Заполним плановую себестоимость во всех строках документа.
*/
					//ОбработкаТабличныхЧастей.РассчитатьПлановуюСебестоимостьВСтрокахТабЧасти(ДокументОбъект, ВалютаРегламентированногоУчета);
				}
				/*// Устанавливаем режим видимости колонок и надписи.
*/
				//Колонки.ПлановаяСебестоимость.Видимость                         = Истина;
				//Колонки.СуммаПлановойСебестоимости.Видимость                    = Истина;
				//Колонки.СуммаОтклоненияОтСуммыПлановойСебестоимости.Видимость   = Истина;
				//Колонки.ПроцентОтклоненияОтСуммыПлановойСебестоимости.Видимость = Истина;
				//Надпись.Видимость	= Истина;
			}
		}
		// ИзмененитьРежимИспользованияПлановойСебестоимости()
		// Процедура формирует и выводит текст в информационной надписи об итоговом отклонение
		// от плановой себестоимости.
		//
		// Параметры:
		//  ЭлементФормыНадписьОтклонение - элемент формы, содержащий надпись итогового отклонения;
		//  ДокументОбъект                - ссылка на документ, из которого вызывается процедура.
		//

		public void СформироватьНадписьИтоговоеОтклонениеОтПлановойСебестоимости(/*ЭлементФормыНадписьОтклонение, ДокументОбъект*/)
		{
			if(true/*Не ДокументОбъект.ИспользоватьПлановуюСебестоимость*/)
			{
				/*// Не выполняем никаких действий, если плановая себестоимость в документе не учитывается.
*/
			}
			//ИтоговоеОтклонение = Ценообразование.ПолучитьИтоговоеОтклонениеОтПлановойСебестоимости(ДокументОбъект, ПроцентОтклоненияОтПлановойСебестоимости);
			if(true/*ИтоговоеОтклонение = Неопределено*/)
			{
				/*// Если итоговая отклонение неопределено, 
*/
				/*// информация об отклонении не показываем.
*/
				//ЭлементФормыНадписьОтклонение.Заголовок = "";
			}
		}
		// СформироватьНадписьИтоговоеОтклонениеОтПлановойСебестоимости()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ РАБОТЫ С ИСТОРИЕЙ ВВОДА ЗНАЧЕНИЙ
		// Функция по для переданной строке пути возвращает список заполненных значений
		//
		// Параметры
		//  Путь - Строка .с указанием объекта метаданных и поля ввода
		// сокращением
		//
		// Возвращаемые значения
		//  Возвращается список значений с историей ввода в это поле
		//

		public object ПолучитьСписокИсторииВвода(/*Путь*/)
		{
			//СтрокаИстории = ВосстановитьЗначение(Путь);
			if(true/*СтрокаИстории = Неопределено*/)
			{
			}
			//СохранятьСписокИстории = Ложь;
			//СписокИстории = ЗначениеИзСтрокиВнутр(СтрокаИстории);
			//ТипСписокЗначений = Тип("СписокЗначений");
			//ТипЗначенияЭлементов = Неопределено;
			if(true/*ТипЗнч(СписокИстории) = Тип("СписокЗначений")*/)
			{
				//КолвоЭлементовКоллекции = СписокИстории.Количество();
				if(true/*ТипЗначенияЭлементов <> Тип("Строка")*/)
				{
					//ОпределитьПредставлениеЭлементовСписка(ТипЗначенияЭлементов, СписокИстории, СохранятьСписокИстории);
				}
				/*//Если СохранятьСписокИстории Тогда
*/
				/*//	СохранитьЗначение(Путь, ЗначениеВСтрокуВнутр(СписокИстории));
*/
				/*//КонецЕсли;			
*/
			}
			return null;
		}
		// ПолучитьСписокИсторииВвода()
		// Процедура по для переданной строке пути и строковому представлению //
		//
		// Параметры
		//  Название - Строка .для которой определяется необходимость дополнения
		// сокращением
		//  Уровень - уровень, для которго необходимо составить список сокращений
		//

		public void ДополнитьСписокИсторииВвода(/*Путь, Знач Значение*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(Значение)*/)
			{
			}
			//СтрокаИстории = ВосстановитьЗначение(Путь);
			if(true/*СтрокаИстории = Неопределено*/)
			{
				//СписокИстории = Новый СписокЗначений();
			}
			if(true/*ТипЗнч(СписокИстории) <> Тип("СписокЗначений")*/)
			{
				//СписокИстории = Новый СписокЗначений();
			}
			if(true/*ТипЗнч(Значение) <> Тип("Строка")*/)
			{
				//Значение = ЗначениеВСтрокуВнутр(Значение);
			}
			//НайденныйЭлемент = СписокИстории.НайтиПоЗначению(Значение);
			while(true/*НайденныйЭлемент <> Неопределено*/)
			{
				//СписокИстории.Удалить(НайденныйЭлемент);
				//НайденныйЭлемент = СписокИстории.НайтиПоЗначению(Значение);
			}
			/*;

	СписокИстории.Вставить(0, Значение);*/
			while(true/*СписокИстории.Количество() > 5*/)
			{
				//СписокИстории.Удалить(5);
			}
			/*;

	СохранитьЗначение(Путь, ЗначениеВСтрокуВнутр(СписокИстории));*/
		}
		// ДополнитьСписокИсторииВвода()
		// Процедура добавляет информацию о коде и/или артикуле в ячейки табличного поля
		// при выводе очередной строки
		//
		// Параметры:
		//  КолонкиТабПоля - коллекция колонок табличного поля
		//  ЯчейкиСтрокиТабПоля - коллекция ячеек строки табличного поля
		//  Номенклатура - СправочникСсылка.Номенклатура, товар, по которому надо вывести код и/или артикул
		//

		public void ПоказатьКодАртикул(/*КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Номенклатура*/)
		{
			if(true/*КолонкиТабПоля.Код.Видимость*/)
			{
				if(true/*Номенклатура <> Неопределено*/)
				{
					//ЯчейкиСтрокиТабПоля.Код.УстановитьТекст(Номенклатура.Код);
				}
			}
			if(true/*КолонкиТабПоля.Артикул.Видимость*/)
			{
				if(true/*ТипЗнч(Номенклатура) = Тип("СправочникСсылка.Номенклатура")*/)
				{
					//ЯчейкиСтрокиТабПоля.Артикул.УстановитьТекст(Номенклатура.Артикул);
				}
			}
		}
		// ПоказатьКодАртикул()
		// Процедура добавляет информацию о сумме без скидок в ячейки табличного поля
		// при выводе очередной строки
		//
		// Параметры:
		//  КолонкиТабПоля      - коллекция колонок табличного поля,
		//  ЯчейкиСтрокиТабПоля - коллекция ячеек строки табличного поля,
		//  Цена                - число, цена номенклатуры в строке,
		//  Количество          - число, количество номенклатуры в строке.
		//

		public void ПоказатьСуммуБезСкидок(/*КолонкиТабПоля, ЯчейкиСтрокиТабПоля, Цена, Количество*/)
		{
			if(true/*КолонкиТабПоля.СуммаБезСкидок.Видимость*/)
			{
				//Сумма = ОбщегоНазначения.ФорматСумм(Цена * Количество);
				//ЯчейкиСтрокиТабПоля.СуммаБезСкидок.Выравнивание = ГоризонтальноеПоложение.Право;
				//ЯчейкиСтрокиТабПоля.СуммаБезСкидок.УстановитьТекст(Сумма);
			}
		}
		// ПоказатьСуммуБезСкидок()
		// Процедура добавляет информацию о коэффициенте мест в ячеки табличного поля
		// при выводе очередной строки
		//
		// Параметры:
		//  КолонкиТабПоля - коллекция колонок табличного поля
		//  ЯчейкиСтрокиТабПоля - коллекция ячеек строки табличного поля
		//  ЕдиницаИзмерения - СправочникСсылка.ЕдиницаИзмерения, единица измерения по которой надо коэффициент мест
		//

		public void ПоказатьКоэффициентМест(/*КолонкиТабПоля, ЯчейкиСтрокиТабПоля, ЕдиницаИзмерения*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ЕдиницаИзмерения)*/)
			{
				//ЯчейкиСтрокиТабПоля.КоличествоМест.ТолькоПросмотр = Истина;
			}
		}
		// ПоказатьКоэффициентМест()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЧИЕ ПРОЦЕДУРЫ И ФУНКЦИИ
		// Печатает составы по указанной номенклатуре.
		//
		// Параметры:
		//  МассивНоменклатуры - массив, содержащий номенклатуру, для которой печатается состав
		//
		// Возвращаемое значение:
		//  Сформированный табличный документ.
		//

		public object НапечататьКомплектующие(/*МассивНоменклатуры*/)
		{
			//Запрос = Новый Запрос;
			//Запрос.УстановитьПараметр("Номенклатура", МассивНоменклатуры);
			/*Запрос.Текст = "
	|ВЫБРАТЬ
	|	Номенклатура                  КАК Номенклатура,
	|	ХарактеристикаНоменклатуры    КАК ХарактеристикаНоменклатуры,
	|	Комплектующая                 КАК Комплектующая,
	|	ХарактеристикаКомплектующей   КАК ХарактеристикаКомплектующей,
	|	Количество                    КАК Количество,
	|	ЕдиницаИзмерения              КАК ЕдиницаИзмерения,
	|	ДоляСтоимости                 КАК ДоляСтоимости
	|ИЗ
	|	РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
	|
	|ГДЕ
	|	Номенклатура В ИЕРАРХИИ (&Номенклатура)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Номенклатура,
	|	ХарактеристикаНоменклатуры
	|";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Макет = ПолучитьОбщийМакет("СписокКомплектующих");
			//ТабДокумент = Новый ТабличныйДокумент;
			while(true/*Выборка.СледующийПоЗначениюПоля("Номенклатура")*/)
			{
				while(true/*Выборка.СледующийПоЗначениюПоля("ХарактеристикаНоменклатуры")*/)
				{
					//ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"+?(Выборка.Номенклатура.Набор, "|Набор", ""));
					//ОбластьМакета.Параметры.Заполнить(Выборка);
					//НомерСтроки = 1;
					if(true/*Выборка.Номенклатура.Набор*/)
					{
						//ОбластьМакета.Параметры.ТекстЗаголовка = "Состав набора """+СокрЛП(Выборка.Номенклатура)+"""";
					}
					//ТабДокумент.Вывести(ОбластьМакета);
					//ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы"+?(Выборка.Номенклатура.Набор, "|Набор", ""));
					//ТабДокумент.Вывести(ОбластьМакета);
					while(true/*Выборка.Следующий()*/)
					{
						//ОбластьМакета = Макет.ПолучитьОбласть("Строка"+?(Выборка.Номенклатура.Набор, "|Набор", ""));
						//ОбластьМакета.Параметры.Заполнить(Выборка);
						//ОбластьМакета.Параметры.НомерСтроки = НомерСтроки;
						//ТабДокумент.Вывести(ОбластьМакета);
						//НомерСтроки = НомерСтроки + 1;
					}
					/*;
			ОбластьМакета = Макет.ПолучитьОбласть("Подвал"+?(Выборка.Номенклатура.Набор, "|Набор", ""));*/
					//ТабДокумент.Вывести(ОбластьМакета);
					//ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
				}
				//;;
			}
			return null;
		}
		// НапечататьКомплектующие()
		// Печатает движения документа
		//
		// Параметры:
		//  ДокументСсылка - ссылка на документ, движения которого печатаем
		//

		public void НапечататьДвиженияДокумента(/*ДокументСсылка*/)
		{
			//Форма = Отчеты.ДвиженияДокумента.ПолучитьФорму(,,Новый УникальныйИдентификатор);
			//Форма.Открыть();
			//Форма.Документ = ДокументСсылка;
			//Форма.СформироватьИВывестиОтчет();
		}
		// НапечататьДвиженияДокумента()
		// Процедура устанавливает видимость реквизитов в зависимости от типа учета
		//
		//		Параметры:
		//
		//

		public void ВидимостьРеквизитовПоТипуУчета(/*ДокументОбъект, ФормаДокумента, Знач РеквизитыУпрУчета, Знач РеквизитыБухУчета, Знач РеквизитыНалУчета = "", Знач РеквизитыМеждУчета = ""*/)
		{
			//СтрРеквУпр = СтрЗаменить(РеквизитыУпрУчета, " ", "");
			//СтрРеквУпр = СтрЗаменить(СтрРеквУпр, Символы.ПС,  "");
			//СтрРеквУпр = СтрЗаменить(СтрРеквУпр, Символы.Таб, "");
			while(true/*Не ПустаяСтрока(СтрРеквУпр)*/)
			{
				//Поз = Найти(СтрРеквУпр, ",");
				if(true/*Поз = 0*/)
				{
					//ИмяРекв    = СтрРеквУпр;
					//СтрРеквУпр = "";
				}
				if(true/*ПустаяСтрока(ИмяРекв)*/)
				{
				}
				//Поз = Найти(ИмяРекв, ".");
				if(true/*Поз = 0*/)
				{
					//ФормаДокумента.ЭлементыФормы[ИмяРекв].Видимость = ДокументОбъект.ОтражатьВУправленческомУчете;
				}
			}
			/*;
	
	СтрРеквБух = СтрЗаменить(РеквизитыБухУчета, " ", "");*/
			//СтрРеквБух = СтрЗаменить(СтрРеквБух, Символы.ПС,  "");
			//СтрРеквБух = СтрЗаменить(СтрРеквБух, Символы.Таб, "");
			while(true/*Не ПустаяСтрока(СтрРеквБух)*/)
			{
				//Поз = Найти(СтрРеквБух, ",");
				if(true/*Поз = 0*/)
				{
					//ИмяРекв    = СтрРеквБух;
					//СтрРеквБух = "";
				}
				if(true/*ПустаяСтрока(ИмяРекв)*/)
				{
				}
				//Поз = Найти(ИмяРекв, ".");
				if(true/*Поз = 0*/)
				{
					//ФормаДокумента.ЭлементыФормы[ИмяРекв].Видимость = ДокументОбъект.ОтражатьВБухгалтерскомУчете;
				}
			}
			/*;
	
	СтрРеквНал = СтрЗаменить(РеквизитыНалУчета, " ", "");*/
			//СтрРеквНал = СтрЗаменить(СтрРеквНал, Символы.ПС,  "");
			//СтрРеквНал = СтрЗаменить(СтрРеквНал, Символы.Таб, "");
			if(true/*НЕ ПустаяСтрока(СтрРеквНал)*/)
			{
				//ОтражатьВНалоговомУчетеНП = (ДокументОбъект.ОтражатьВНалоговомУчете И (НЕ НалоговыйУчетУСН.ПрименениеУСН(ДокументОбъект.Организация, ДокументОбъект.Дата)));
			}
			while(true/*Не ПустаяСтрока(СтрРеквНал)*/)
			{
				//Поз = Найти(СтрРеквНал, ",");
				if(true/*Поз = 0*/)
				{
					//ИмяРекв    = СтрРеквНал;
					//СтрРеквНал = "";
				}
				if(true/*ПустаяСтрока(ИмяРекв)*/)
				{
				}
				//Поз = Найти(ИмяРекв, ".");
				if(true/*Поз = 0*/)
				{
					//ФормаДокумента.ЭлементыФормы[ИмяРекв].Видимость = ОтражатьВНалоговомУчетеНП;
				}
			}
			/*;
	
	СтрРеквМежд = СтрЗаменить(РеквизитыМеждУчета, " ", "");*/
			//СтрРеквМежд = СтрЗаменить(СтрРеквМежд, Символы.ПС,  "");
			//СтрРеквМежд = СтрЗаменить(СтрРеквМежд, Символы.Таб, "");
			while(true/*Не ПустаяСтрока(СтрРеквМежд)*/)
			{
				//Поз = Найти(СтрРеквМежд, ",");
				if(true/*Поз = 0*/)
				{
					//ИмяРекв    = СтрРеквМежд;
					//СтрРеквМежд = "";
				}
				if(true/*ПустаяСтрока(ИмяРекв)*/)
				{
				}
				//Поз = Найти(ИмяРекв, ".");
				if(true/*Поз = 0*/)
				{
					//ФормаДокумента.ЭлементыФормы[ИмяРекв].Видимость = ДокументОбъект.ОтражатьВМеждународномУчете;
				}
			}
			//;;
		}
		// ВидимостьРеквизитовПоТипуУчета()
		// Процедура открывает форму выбора документа и устанавливает отбор
		//	Параметры:
		//		ФормаДокумента  - форма редактируемого документа;
		//		ЭлементФормы    - элемент формы документа, который надо заполнить;
		//		СписокТипов     - список типов документов (необязательный);
		//		СтруктураОтбора - структура отбора, который надо установить при открытии формы.
		//		                  либо таблица значений с параметрами отбора. Структура таблицы значений формируется функцией СоздатьТаблицуДляОтбора()
		//

		public void ОткрытьФормуДокументаСОтбором(/*ФормаДокумента, ЭлементФормы, СписокТипов = Неопределено, СтруктураОтбора*/)
		{
			if(true/*СписокТипов = Неопределено*/)
			{
				//ИмяДокумента = ЭлементФормы.Значение.Метаданные().Имя;
				/*// считаем, что в этом случае составного типа не будет.
*/
			}
			//ФормаВыбора = Документы[ИмяДокумента].ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Отфильруем список документов.
*/
			if(true/*ТипЗнч(СтруктураОтбора) = Тип("ТаблицаЗначений")*/)
			{
			}
			//Сделка            = ЭлементФормы.Значение;
			//ЕстьДоговор       = (ФормаДокумента.ДокументОбъект.Метаданные().Реквизиты.Найти("ДоговорКонтрагента") <> Неопределено);
			//ЕстьДоговорСделки = ?(НЕ ЗначениеЗаполнено(Сделка),          Ложь, Сделка.Метаданные().Реквизиты.Найти("ДоговорКонтрагента") <> Неопределено);
			if(true/*ЕстьДоговор И ЕстьДоговорСделки*/)
			{
				if(true/*Сделка.ДоговорКонтрагента = ФормаДокумента.ДокументОбъект.ДоговорКонтрагента*/)
				{
					//ФормаВыбора.НачальноеЗначениеВыбора = Сделка;
				}
			}
			//ФормаВыбора.Открыть();
		}
		// ОткрытьФормуДокументаСОтбором()
		// Процедура - установка вида поступления/передачи
		//
		// Параметры:
		//  ДокументОбъект - объект документа, для которого надо проверить вид поступления / вид передачи.
		//  ФормаДокумента - форма документа, для которого надо проверить вид поступления / вид передачи.
		//

		public void ПроверитьВидПоступленияПередачи(/*ДокументОбъект, ФормаДокумента*/)
		{
			//МетаданныеДокумента = ДокументОбъект.Метаданные();
			if(true/*НЕ ДокументОбъект.ОтражатьВУправленческомУчете*/)
			{
				if(true/*МетаданныеДокумента.Реквизиты.Найти("ВидПоступления") <> Неопределено*/)
				{
					if(true/*ДокументОбъект.ВидПоступления = Перечисления.ВидыПоступленияТоваров.ПоОрдеру*/)
					{
						//ДокументОбъект.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
						if(true/*МетаданныеДокумента.Реквизиты.Найти("СкладОрдер") <> Неопределено*/)
						{
							//ДокументОбъект.СкладОрдер = Справочники.Склады.ПустаяСсылка();
						}
					}
					//ФормаДокумента.ЭлементыФормы.ВидПоступления.ТолькоПросмотр = Истина;
					//ФормаДокумента.ЭлементыФормы.ВидПоступления.КнопкаВыбора = Ложь;
					//ФормаДокумента.ЭлементыФормы.ВидПоступления.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.БезРамки, 0);
				}
			}
		}
		// ПроверитьВидПоступленияПередачи()
		// Процедура устанавливает видимость колонок суммы таб. части
		//

		public void УстановитьПараметрыКолонокСуммы(/* ФормаТабЧасть, УпрУчет, БухУчет*/)
		{
			//ФормаТабЧасть.Колонки.Сумма    .Видимость = УпрУчет;
			//ФормаТабЧасть.Колонки.СуммаРегл.Видимость = БухУчет;
			//ФормаТабЧасть.Колонки.Сумма    .ИзменятьВидимость = Ложь;
			//ФормаТабЧасть.Колонки.СуммаРегл.ИзменятьВидимость = Ложь;
			if(true/*УпрУчет*/)
			{
				//ФормаТабЧасть.Колонки.Цена.ТекстШапки = "Цена";
			}
		}
		// УстановитьПараметрыКолонокСуммы()
		// Функция устанавливает цены в колонке Цена в зависимости от типа учета
		//

		public void УстановитьЦеныПоТипуУчета(/*ТабЧасть, УпрУчет, Спрашивать = Истина*/)
		{
			//ВалютаБух = глЗначениеПеременной("ВалютаРегламентированногоУчета");
			//ВалютаУпр = глЗначениеПеременной("ВалютаУправленческогоУчета");
			if(true/*ВалютаУпр = ВалютаБух ИЛИ ТабЧасть.Количество() = 0*/)
			{
			}
			if(true/*Спрашивать*/)
			{
				if(true/*УпрУчет*/)
				{
					//ТекстВопроса = "Пересчитать цены в валюту управленческого учета?";
				}
				//Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
				if(true/*Ответ = КодВозвратаДиалога.Нет*/)
				{
				}
			}
		}
		// УстановитьЦеныПоТипуУчета()
		// Процедура выводить форму структуры подчиненности документа

		public void ПоказатьСтруктуруПодчиненностиДокумента(/*ДокументСсылка*/)
		{
			//ФормаСтруктурыПодчиненности = ПолучитьОбщуюФорму("ФормаСтруктурыПодчиненности");
			if(true/*ФормаСтруктурыПодчиненности.Открыта()*/)
			{
				//ФормаСтруктурыПодчиненности.Закрыть();
			}
			//ФормаСтруктурыПодчиненности.ДокументСсылка = ДокументСсылка;
			//ФормаСтруктурыПодчиненности.Открыть();
		}
		// Вызывается в обработчике события "Начало выбора" при выборе счета.
		// используется для фильтрации по признаку забалансовый
		//

		public void ВыборСчета(/*Элемент, СтандартнаяОбработка, Забалансовый*/)
		{
			//СтандартнаяОбработка = Ложь;
			//Запрос = Новый Запрос();
			//Запрос.УстановитьПараметр("Забалансовый", Забалансовый);
			/*Запрос.Текст = "
	|ВЫБРАТЬ
	|	Хозрасчетный.Ссылка КАК Счет
	|ИЗ
	|	ПланСчетов.Хозрасчетный КАК Хозрасчетный
	|ГДЕ
	|	Хозрасчетный.Забалансовый = &Забалансовый";*/
			//ВыборкаСчетов = Запрос.Выполнить().Выбрать();
			//СписокСчетов  = Новый СписокЗначений;
			while(true/*ВыборкаСчетов.Следующий()*/)
			{
				//СписокСчетов.Добавить(ВыборкаСчетов.Счет);
			}
			/*;

	ФормаВыбора = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора("ФормаВыбора", Элемент,);*/
			//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.ВидСравнения  = ВидСравнения.ВСписке;
			//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Использование = Истина;
			//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Значение      = СписокСчетов;
			//ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь;
			//ФормаВыбора.ПараметрТекущаяСтрока = Элемент.Значение;
			//ФормаВыбора.Открыть();
		}
		// ВыборСчета
		// Процедура заполняет список счетами с субконто "Контрагент" и "Договор"
		//

		public void ЗаполнитьСписокСчетамиССубконтоКонтрагентДоговор(/*СписокСчетов, ИмяПланаСчетов*/)
		{
			//Запрос = Новый Запрос;
			/*ТекстЗапроса = "ВЫБРАТЬ
	               |	ПланСчетовЗапроса.Ссылка
	               |ИЗ
	               |	ПланСчетов." + ИмяПланаСчетов + " КАК ПланСчетовЗапроса
	               |ГДЕ
	               |	&СубконтоКонтрагент В
	               |			(ВЫБРАТЬ
	               |				ПланСчетовВидыСубконто.ВидСубконто
	               |			ИЗ
	               |				ПланСчетов." + ИмяПланаСчетов + ".ВидыСубконто КАК ПланСчетовВидыСубконто
	               |			ГДЕ
	               |				ПланСчетовВидыСубконто.Ссылка = ПланСчетовЗапроса.Ссылка)
				   |И
	               |	&СубконтоДоговор В
	               |			(ВЫБРАТЬ
	               |				ПланСчетовВидыСубконто.ВидСубконто
	               |			ИЗ
	               |				ПланСчетов." + ИмяПланаСчетов + ".ВидыСубконто КАК ПланСчетовВидыСубконто
	               |			ГДЕ
	               |				ПланСчетовВидыСубконто.Ссылка = ПланСчетовЗапроса.Ссылка)";*/
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("СубконтоКонтрагент", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
			//Запрос.УстановитьПараметр("СубконтоДоговор", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
			//Результат = Запрос.Выполнить();
			//Выборка = Результат.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//СписокСчетов.Добавить(Выборка.Ссылка);
			}
			//;;
		}
		//ЗаполнитьСписокСчетамиССубконтоКонтрагентДоговор

		public object ПолучитьСписокСчетовПоНазначениюСчета(/*НазначениеСчета, Элемент, ИмяПланаСчетов*/)
		{
			//ПланСчетовМенеджер = ПланыСчетов[ИмяПланаСчетов];
			//СписокСчетов = Новый СписокЗначений;
			/*// СчетаУчетаНоменклатуры
*/
			if(true/*НазначениеСчета = "СчетУчета"*/)
			{
				//СписокСчетов.Добавить(ПланСчетовМенеджер.Материалы);
				//СписокСчетов.Добавить(ПланСчетовМенеджер.Товары);
				//СписокСчетов.Добавить(ПланСчетовМенеджер.ГотоваяПродукция);
				//СписокСчетов.Добавить(ПланСчетовМенеджер.ПриобретениеОбъектовОсновныхСредств);
				//СписокСчетов.Добавить(ПланСчетовМенеджер.Полуфабрикаты);
				//СписокСчетов.Добавить(ПланСчетовМенеджер.ОборудованиеКУстановке);
			}
			return null;
		}
		//ПолучитьСписокСчетовПоНазначениюСчета
		// Процедура открывает диалог выбора счета с установленным отбором
		// Отбор задается согласно назначению счета
		//

		public void ВыборСчетаСОтборомПоНазначениюСчета(/*НазначениеСчета, Элемент, ИмяПланаСчетов, СписокСчетов = Неопределено*/)
		{
			//ФормаВыбора = ПланыСчетов[ИмяПланаСчетов].ПолучитьФормуВыбора(, Элемент, "ВыборСчетаСОтборомПоНазначениюСчета");
			/*//Если СписокСчетов не передан - получим его по Назначению
*/
			if(true/*СписокСчетов = Неопределено*/)
			{
				//СписокСчетов = ПолучитьСписокСчетовПоНазначениюСчета(НазначениеСчета, Элемент, ИмяПланаСчетов);
			}
			if(true/*СписокСчетов.Количество() > 0*/)
			{
				//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.ВидСравнения  = ВидСравнения.ВСпискеПоИерархии;
				//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Использование = Истина;
				//ФормаВыбора.ПланСчетовСписок.Отбор.Ссылка.Значение      = СписокСчетов;
				//ФормаВыбора.ЭлементыФормы.Список.НастройкаОтбора.Ссылка.Доступность = Ложь;
			}
			/*// Если в поле ввода выбрано значение, то установим выбор на него, если это значение есть в списке 
*/
			//НачальноеЗначениеВыбора = Элемент.Значение;
			if(true/*ЗначениеЗаполнено(НачальноеЗначениеВыбора)*/)
			{
				//УстановитьНачальноеЗначениеВыбора = Истина;
				if(true/*СписокСчетов.НайтиПоЗначению(НачальноеЗначениеВыбора) = Неопределено*/)
				{
					//УстановитьНачальноеЗначениеВыбора = Ложь;
				}
				if(true/*УстановитьНачальноеЗначениеВыбора*/)
				{
					//ФормаВыбора.ПараметрТекущаяСтрока = НачальноеЗначениеВыбора;
				}
			}
			//ФормаВыбора.Открыть();
		}
		//ВыборСчетаСОтборомПоНазначениюСчета
		// Функция возвращает форму объекта с учетом доступа на просмотр к объекту
		//
		// Параметры
		//	МетаданныеОбъекта	- <ОбъектМетаданных>
		//	ВидФормы			- <строка>.
		//	ИмяФормы			- <строка>. Имя формы, как оно задано в конфигураторе
		//

		public object ВернутьФормуЕслиДоступна(/*МетаданныеОбъекта, МенеджерОбъекта, ВидФормы = "", ИмяФормы = Неопределено*/)
		{
			if(true/*НЕ ПравоДоступа("Просмотр", МетаданныеОбъекта)*/)
			{
			}
			//Результат = Неопределено;
			//ВидФормы = НРег(ВидФормы);
			if(true/*ВидФормы = ""*/)
			{
				//Результат = МенеджерОбъекта.ПолучитьФорму(ИмяФормы);
			}
			return null;
		}
		// ВернутьФормуЕслиДоступна
		// Процедура устанавливает доступность кнопки "ОплатитьКартой".
		//
		// Параметры:
		//  КнопкиКоманднойПанели - Кнопки, среди которых содержится кнопка "ОплатитьКартой".
		//

		public void УстановитьДоступностьКнопкиОплатитьКартой(/*КнопкиКоманднойПанели*/)
		{
			if(true/*ПолучитьСерверТО().ПолучитьСписокУстройств(
	   Перечисления.ВидыТорговогоОборудования.ЭквайринговаяСистема).Количество() = 0*/)
			{
				//КнопкиКоманднойПанели.Удалить(КнопкиКоманднойПанели.ОплатитьКартой);
			}
		}
		// УстановитьДоступностьМенюПроверить()
		// Функция подбирает из справочника организаций первую разрешенную
		//
		// Параметры
		//  ТолькоГоловныеОрганизации  – Булево – подбор только среди головных организаций
		//
		// Возвращаемое значение:
		//   <Справочники.Организации>   – Ссылка на организацию, или пустая ссылка
		//

		public object ПодобратьОрганизацию(/*ТолькоГоловныеОрганизации = Ложь*/)
		{
			/*ТекстЗапроса =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	|	Организации.Ссылка КАК Организация,
	|	Организации.ПометкаУдаления
	|ИЗ
	|	Справочник.Организации КАК Организации";*/
			if(true/*ТолькоГоловныеОрганизации*/)
			{
				/*ТекстЗапроса = ТекстЗапроса + "
		|ГДЕ
		|	Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)";*/
			}
			/*ТекстЗапроса = ТекстЗапроса + "
	|УПОРЯДОЧИТЬ ПО
	|	Организации.Код";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Выборка = Запрос.Выполнить().Выбрать();
			if(true/*Выборка.Следующий()*/)
			{
			}
			return null;
		}
		// ПодобратьОрганизацию ()
		// Функция возвращает организацию, указанную для пользователя по умолчанию
		// а если она пустая, то первую разрешенную
		//
		// Параметры
		//  ТолькоГоловныеОрганизации  – Булево – вернуть головную организацию
		//
		// Возвращаемое значение:
		//   <Справочники.Организации>   – Ссылка на организацию, или пустая ссылка
		//

		public object ПолучитьОрганизацию(/*ТолькоГоловныеОрганизации = Ложь*/)
		{
			//Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
			if(true/*ТолькоГоловныеОрганизации и Не Организация.Пустая()*/)
			{
				/*// получим головную организацию
*/
				//Организация = ОбщегоНазначения.ГоловнаяОрганизация(Организация);
			}
			if(true/*Организация.Пустая() Или Не ОбщегоНазначения.ЭтоДоступнаяОрганизация(Организация)*/)
			{
				/*//для пользователя не задана организация по умолчанию, подберем первую разрешенную
*/
				//Организация = ПодобратьОрганизацию(ТолькоГоловныеОрганизации);
			}
			return null;
		}
		// ПолучитьОрганизацию()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ЗАПОЛНЕНИЯ РЕКВИЗИТОВ В ФОРМЕ
		// Процедура устанавливает видимость переданных страниц формы на основании прав доступа текущего пользователя
		// вызывается из обработчика формы ПередОткрытием
		//
		// Параметры
		//		ОбъектыМетаданных - соответствие, ключ - ЭУ страница формы, значение - объекты метаданных
		//		РеквизитыФормы	  - соответствие, ключ - ЭУ страница формы, значение - реквизиты формы для изменения доступности
		//

		public void СформироватьСтраницыФормы(/*ОбъектыМетаданных, РеквизитыФормы*/)
		{
			/*// цикл по страницам формы
*/
		}
		// СформироватьСтраницыФормы()
		// Процедура установки типа и доступности субконто в зависимости от  выбранного счета
		//
		//     Параметры:
		//          Счет - выбранный счет
		//          Форма - форма(или табличное поле) на которой расположены счет и субконто
		//          Префикс - префекс наименования субконто. к префиксу добавляется номер субконто на счете
		//                    для подписи с наименованием субконто предполагается имя
		//                    вида "Надпись" + Префикс + НомерСубконто
		//                    в случае если форма - это таб.поле, то надписи не устанавливаются
		//

		public void ПриВыбореСчета(/*Счет, Субконто1, НадписьСубконто1, Субконто2, НадписьСубконто2, Субконто3, НадписьСубконто3, ПолеСчет = НЕОПРЕДЕЛЕНО, ТолькоПросмотр = ЛОЖЬ*/)
		{
			//ЭлементыСубконто = Новый Структура("Субконто1,НадписьСубконто1,Субконто2,НадписьСубконто2,Субконто3,НадписьСубконто3", Субконто1, НадписьСубконто1, Субконто2, НадписьСубконто2, Субконто3, НадписьСубконто3);
			//ЧислоАктивныхСубконто = Счет.ВидыСубконто.Количество();
			if(true/*ПолеСчет <> НЕОПРЕДЕЛЕНО*/)
			{
				//ПолеСчет.ТолькоПросмотр = ТолькоПросмотр;
			}
		}
		// ПриВыбореСчета()
		// Процедура установки типа и доступности субконто в зависимости от  выбранного счета
		//
		// Параметры:
		//      Счет - выбранный счет
		//      Форма - форма(или табличное поле) на которой расположены счет и субконто
		//      Префикс - префекс наименования субконто. к префиксу добавляется номер субконто на счете
		//                для подписи с наименованием субконто предпологается имя
		//                вида "Надпись" + Префикс + НомерСубконто
		//                в случае если форма - это таб.поле, то надписи не устанавливаются
		//

		public void ПриВыбореСчетаВТабличномПоле(/*Счет, Субконто1, КолонкаСубконто1, Субконто2, КолонкаСубконто2, Субконто3, КолонкаСубконто3, КолонкаСчет = НЕОПРЕДЕЛЕНО, ТолькоПросмотр = ЛОЖЬ*/)
		{
			//ЭлементыСубконто = Новый Структура("Субконто1,КолонкаСубконто1,Субконто2,КолонкаСубконто2,Субконто3,КолонкаСубконто3", Субконто1, КолонкаСубконто1, Субконто2, КолонкаСубконто2, Субконто3, КолонкаСубконто3);
			//ЧислоАктивныхСубконто = Счет.ВидыСубконто.Количество();
			if(true/*КолонкаСчет <> Неопределено*/)
			{
				//КолонкаСчет.ТолькоПросмотр = ТолькоПросмотр;
			}
			if(true/*Не Субконто1 = ЭлементыСубконто.Субконто1*/)
			{
				//Субконто1 = ЭлементыСубконто.Субконто1;
			}
			if(true/*Не Субконто2 = ЭлементыСубконто.Субконто2*/)
			{
				//Субконто2 = ЭлементыСубконто.Субконто2;
			}
			if(true/*Не Субконто3 = ЭлементыСубконто.Субконто3*/)
			{
				//Субконто3 = ЭлементыСубконто.Субконто3;
			}
		}
		// ПриВыбореСчета()

		public void УстановитьДоступностьЯчееекПоСчету(/*Счет, Субконто1, Субконто2, Субконто3*/)
		{
			//ЭлементыСубконто = Новый Структура("Субконто1,Субконто2,Субконто3", Субконто1, Субконто2, Субконто3);
			//ЧислоАктивныхСубконто = Счет.ВидыСубконто.Количество();
		}
		// Формирует и устанавливает текст заголовка формы справочника
		//
		// Параметры:
		//  СтрокаВида 		 - строка вида,
		//  СправочникОбъект - объект справочника,
		//  ФормаСправочника - форма справочника.
		//

		public void УстановитьЗаголовокФормыСправочника(/*СтрокаВида = "", СправочникОбъект, ФормаСправочника*/)
		{
			//ФормаСправочника.АвтоЗаголовок = Ложь;
			/*// заголовок будем писать сами
*/
			if(true/*ПустаяСтрока(СтрокаВида)*/)
			{
				//Заголовок = СправочникОбъект.Метаданные().Синоним + ": ";
			}
			if(true/*СправочникОбъект.ЭтоНовый()*/)
			{
				//Заголовок = Заголовок + "Новый";
			}
			//ФормаСправочника.Заголовок = Заголовок;
		}
		// УстановитьЗаголовокФормыДокумента()
		//Функция возвращает список подразделений организации, соответствующих
		//подразделению и организации в регистре сведений
		//СоответствиеПодразделенийИПодразделенийОрганизаций
		// Параметры:
		//  Подразделение - Справочник Подразделения,
		//  Организации   - Справочник Организации,

		public object ПолучитьСписокПодразделенийОрганизаций(/*Подразделение,Организация*/)
		{
			/*Экспорт 
	
	СписокВыбора = Новый СписокЗначений;*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "ВЫБРАТЬ
	               |	СоответствиеПодразделенийИПодразделенийОрганизаций.ПодразделениеОрганизации
	               |ИЗ
	               |	РегистрСведений.СоответствиеПодразделенийИПодразделенийОрганизаций КАК СоответствиеПодразделенийИПодразделенийОрганизаций
	               |
	               |ГДЕ
	               |	СоответствиеПодразделенийИПодразделенийОрганизаций.Подразделение = &Подразделение И
	               |	СоответствиеПодразделенийИПодразделенийОрганизаций.ПодразделениеОрганизации <> &ПустоеПодразделениеОрганизации И
	               |	СоответствиеПодразделенийИПодразделенийОрганизаций.Организация = &Организация";*/
			//Запрос.УстановитьПараметр("Подразделение",Подразделение);
			//Запрос.УстановитьПараметр("Организация",Организация);
			//Запрос.УстановитьПараметр("ПустоеПодразделениеОрганизации",Справочники.ПодразделенияОрганизаций.ПустаяСсылка());
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//СписокВыбора.Добавить(Выборка.ПодразделениеОрганизации);
			}
			return null;
		}
		// Процедура вызывается из обработчиков событий изменения организации и принадлежности к бухучету
		// заполняет подразделение организации если может:))

		public void ЗаполнениеПодразделенияОрганизацииПоРегистру(/*ОтражатьВБухгалтерскомУчете,
													   ПодразделениеОрганизации,
													   Подразделение,
													   Организация*/)
		{
			if(true/*Не  ОтражатьВБухгалтерскомУчете Или  НЕ ЗначениеЗаполнено(Подразделение) 
		 Или НЕ ЗначениеЗаполнено(Организация)*/)
			{
				/*// тут делать нечего
*/
			}
			//СписокВыбора = ПолучитьСписокПодразделенийОрганизаций(Подразделение,Организация);
			if(true/*СписокВыбора.Количество()=0*/)
			{
			}
			/*// если в списке 1 элемент и подразделение организации заполнено -
*/
			/*// спросим все - таки пользователя хочет ли он такого заполнения
*/
			/*// если не заполнено - просто подставляем
*/
			if(true/*СписокВыбора.Количество()=1*/)
			{
				//мПодразделениеОрганизации = СписокВыбора[0].Значение;
				if(true/*НЕ ЗначениеЗаполнено(ПодразделениеОрганизации)*/)
				{
					//ПодразделениеОрганизации = мПодразделениеОрганизации;
				}
			}
		}
		// Процедура вызывается из обработчика события выбора из списка подразделения организации
		// показывает список выбора у соответствующего элемента формы

		public void ВыбратьПодразделениеОрганизацииИзСписка(/* ОтражатьВБухгалтерскомУчете,
												   ЭлементФормыПодразделениеОрганизации,
												   ПодразделениеОрганизации,
												   Подразделение,
												   Организация,
												   ЭтаФорма,
												   ВызыватьПриИзмененииПодразделенияОрганизации = Истина*/)
		{
			if(true/*НЕ ОтражатьВБухгалтерскомУчете И НЕ ЗначениеЗаполнено(Подразделение) 
		 и  НЕ ЗначениеЗаполнено(Организация)*/)
			{
				/*// тут делать нечего
*/
			}
			//СписокВыбора = ПолучитьСписокПодразделенийОрганизаций(Подразделение,Организация);
			if(true/*СписокВыбора.Количество()=0*/)
			{
			}
			//ЭлементПоУмолчанию = СписокВыбора.НайтиПоЗначению(ПодразделениеОрганизации);
			/*ВыбранныйЭлемент = ЭтаФорма.ВыбратьИзСписка( СписокВыбора,
												 ЭлементФормыПодразделениеОрганизации, 
												 ЭлементПоУмолчанию);*/
			if(true/*ВыбранныйЭлемент <> Неопределено*/)
			{
				//ПодразделениеОрганизации = ВыбранныйЭлемент.Значение;
			}
			if(true/*ВызыватьПриИзмененииПодразделенияОрганизации*/)
			{
			}
		}
		// Процедура заполняет надписи на закладке "Документы расчетов с контрагентами"
		//
		// Параметры:
		// ДокументОбъект - документ, форма которого заполняется
		// ФормаДокумента - заполняемая форма
		//

		public void ЗаполнитьНадписиРасчетовСКонтрагентом(/*ДокументОбъект, ФормаДокумента, ВалютаРегламентированногоУчета, СуммаВзаиморасчетовПоДокументу*/)
		{
			/*Экспорт

	СтруктураВзаиморасчетовПоДокументу = УправлениеВзаиморасчетами.ПолучитьСтруктуруВзаиморасчетовПоДокументу(ДокументОбъект, СуммаВзаиморасчетовПоДокументу);*/
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ПоДокументуВал)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ПоДокументуВал.Значение  = "";
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ПредоплатаВал)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ПредоплатаВал.Значение   = "";
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ОстатокВал)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ОстатокВал.Значение      = "";
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ПоДокументуРегл)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ПоДокументуРегл.Значение = "";
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ПредоплатаРегл)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ПредоплатаРегл.Значение  = "";
			}
			if(true/*НЕ ЗначениеЗаполнено(СтруктураВзаиморасчетовПоДокументу.ОстатокРегл)*/)
			{
				//ФормаДокумента.ЭлементыФормы.ОстатокРегл.Значение     = "";
			}
		}
		// Процедура изменяет значение склада в табличных частях документа при изменении склада в шапке.
		// Изменяются только те значения в таб.частях, которые совпадают со старым значением склада.
		//
		//		Параметры:
		//			- ДокОбъект    - Обрабатываемый документ
		//			- НовыйСклад   - Новое значение склада
		//			- ТекСклад     - Текущее (старое) значение склада
		//			- СтрТабЧасти  - Строка, с именами таб. частей в которых делается замена. Имя таб.частей разделены ",".
		//			- ИмяРеквСклад - Имя реквизита склад в таб. частях.
		//

		public void ИзменитьЗначениеСкладаВТабЧастях(/*ДокОбъект, НовыйСклад, ТекЗначСклад, СтрТабЧасти, ИмяРеквСклад = "Склад"*/)
		{
			//ТекСклад     = ТекЗначСклад;
			//ТекЗначСклад = НовыйСклад;
			/*// Обновим значение склада, в форме документа, из которого был вызов
*/
			//ОбъектыПредупреждения = Новый Соответствие();
			//ОбъектыПредупреждения.Вставить(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"), Новый Структура("СовпадающиеРазличные, СовпадающиеНеРазличные, НеСовпадающиеРазличные, НеСовпадающиеПустые", "Приходные ордера", "документа", "приходного ордера", "приходного ордера"));
			//ОбъектыПредупреждения.Вставить(Тип("СправочникСсылка.Склады"), Новый Структура("СовпадающиеРазличные, СовпадающиеНеРазличные, НеСовпадающиеРазличные, НеСовпадающиеПустые", "Склады", "склада", "склада", "склада"));
			if(true/*НовыйСклад = ТекСклад*/)
			{
			}
			if(true/*НЕ ЗначениеЗаполнено(НовыйСклад)*/)
			{
				/*// Старые склады в таб.частях не очищаем - оставляем без изменений.
*/
			}
			//СтруктТабЧастей       = Новый Структура(СтрТабЧасти);
			//МассивУдалитьТабЧасть = Новый Массив;
			/*// В зависимости от значений указанных флагов будем формировать текст вопроса
*/
			/*// пользователю и формировать логику замены значений
*/
			//ЕстьРазличныеЗнач     = Ложь;
			/*// В табличной части есть непустые значения несовпадающие с пред. значением склада из шапки
*/
			//ЕстьСовпадающЗнач     = Ложь;
			/*// В табличной части есть непустые значения совпадающие с пред. значением склада из шапки
*/
			//ЕстьПустыеЗнач        = Ложь;
			/*// В табличной части есть пустые значения склада
*/
			if(true/*СтруктТабЧастей.Количество() = 0*/)
			{
				/*// Нет таб. частей для обработки
*/
			}
			if(true/*ЕстьСовпадающЗнач И ЕстьРазличныеЗнач*/)
			{
				/*ТекстВопроса = ОбъектыПредупреждения[ТипЗнч(ТекСклад)]["СовпадающиеРазличные"] + ", которые отличаются от """ + ТекСклад + """, в табличной части изменены не будут, поскольку они были установлены вручную." + Символы.ПС +
					   "Заменить в табличных частях значение " + ОбъектыПредупреждения[ТипЗнч(ТекСклад)]["СовпадающиеНеРазличные"] + " """ + ТекСклад + """ на """ + НовыйСклад + """?";*/
			}
			//Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да, "Новое значение склада (ордера)");
			if(true/*Ответ = КодВозвратаДиалога.Да*/)
			{
			}
		}
		// ИзменитьЗначениеСкладаВТабЧастях()
		// Функция открывает окно выбора склада из документа основания, в случае когда
		// при вводе на основании в документе-основании склад есть в таб.части, а в вводимом документе - склад в шапке
		// т.е. из списка складов надо выбрать только один склад.
		//

		public object ВыбратьСкладИзДокументаОснования(/*ДокОснование, СтруктПараметры, ВернутьВсеСклады = Ложь*/)
		{
			/*// Выберем список складов
*/
			//ТекстЗапроса = "";
			//МетаДок = ДокОснование.Метаданные();
			/*ТекстЗапроса = "
		|ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
		|	Склад КАК Склад,
		|	СкладПредставление КАК СкладПредставление
		|ИЗ
		|	(" + ТекстЗапроса + ") КАК Док
		|
		|УПОРЯДОЧИТЬ ПО
		|	СкладПредставление";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДокСсылка", ДокОснование.Ссылка);
			//Запрос.УстановитьПараметр("ПустСклад", Справочники.Склады.ПустаяСсылка());
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//СписокСкладов = Новый СписокЗначений;
			//ВсеСклады = Ложь;
			if(true/*СтруктПараметры.Свойство("ВсеСклады", ВсеСклады)*/)
			{
				if(true/*ВсеСклады*/)
				{
					//СписокСкладов.Добавить("ВсеСклады", "<Все склады>");
				}
			}
			//Обход = РезультатЗапроса.Выбрать();
			while(true/*Обход.Следующий()*/)
			{
				//СписокСкладов.Добавить(Обход.Склад, Обход.СкладПредставление);
			}
			if(true/*ВернутьВсеСклады*/)
			{
			}
			/*// Один склад, нечего спрашивать.
*/
			if(true/*СписокСкладов.Количество() = 1*/)
			{
			}
			//СтруктПараметрыФормы = Новый Структура;
			//СтруктПараметрыФормы.Вставить("СписокСкладов", СписокСкладов);
			//СтруктПараметрыФормы.Вставить("НачЗначение",   ДокОснование[СтруктПараметры.ИмяСкладаВШапке]);
			//ФормаВыбораСклада = ПолучитьОбщуюФорму("ФормаВыбораСклада");
			//ФормаВыбораСклада.НачальноеЗначениеВыбора = СтруктПараметрыФормы;
			//ВыбрСклад = ФормаВыбораСклада.ОткрытьМодально();
			return null;
		}
		// ВыбратьСкладИзДокументаОснования()
		// Функция открывает окно выбора контрагента/договора/заказа из документа основания, в случае когда
		// при вводе на основании в документе-основании заказ (контрагент-договор) есть в таб.части,
		// а в вводимом документе - заказ (контрагент-договор) в шапке
		//

		public object ВыбратьКонтрагентДоговорЗаказИзДокументаОснования(/*ДокОснование, СтруктПараметры*/)
		{
			/*// Выберем список заказов
*/
			//ТекстЗапроса = "";
			//МетаДок = ДокОснование.Метаданные();
			/*ТекстЗапроса = "
		|ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
		|	Заказ КАК Заказ,
		|	Представление(Заказ) КАК ЗаказПредставление,
		|	Контрагент КАК Контрагент,
		|	Представление(Контрагент) КАК КонтрагентПредставление,
		|	Договор КАК Договор,
		|	Представление(Договор) КАК ДоговорПредставление,
		|	0 КАК ВсегоКонтрагентов,
		|	0 КАК ВсегоДоговоров,
		|	0 КАК ВсегоЗаказов
		|ИЗ
		|	(" + ТекстЗапроса + ") КАК Док
		|
		|ИТОГИ
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Заказ)      КАК ВсегоЗаказов,
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагент) КАК ВсегоКонтрагентов,
		|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Договор)    КАК ВсегоДоговоров
		|ПО
		|	ОБЩИЕ,
		|	Контрагент,
		|	Договор,
		|	Заказ
		|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДокСсылка", ДокОснование.Ссылка);
			//РезультатЗапроса = Запрос.Выполнить();
			//СтруктВозврат = Новый Структура;
			//СтруктВозврат.Вставить("ВыборСделан", Ложь);
			if(true/*РезультатЗапроса.Пустой()*/)
			{
			}
			//ФиксироватьКонтрагента = Неопределено;
			//ФиксироватьДоговор     = Неопределено;
			//ФиксироватьЗаказ       = Неопределено;
			//ОбходОбщиеИтоги = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			while(true/*ОбходОбщиеИтоги.Следующий()*/)
			{
				//ОбходКонтрагент = ОбходОбщиеИтоги.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
				while(true/*ОбходКонтрагент.Следующий()*/)
				{
					if(true/*ОбходОбщиеИтоги.ВсегоКонтрагентов = 1*/)
					{
						//ФиксироватьКонтрагента = ОбходКонтрагент.Контрагент;
					}
					//ОбходДоговор = ОбходКонтрагент.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
					while(true/*ОбходДоговор.Следующий()*/)
					{
						if(true/*ОбходОбщиеИтоги.ВсегоДоговоров = 1*/)
						{
							//ФиксироватьДоговор = ОбходДоговор.Договор;
						}
						//ОбходЗаказ = ОбходДоговор.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
						while(true/*ОбходЗаказ.Следующий()*/)
						{
							if(true/*ОбходОбщиеИтоги.ВсегоЗаказов = 1*/)
							{
								//ФиксироватьЗаказ = ОбходЗаказ.Заказ;
							}
						}
						//;;
					}
					//;;
				}
				//;;
			}
			if(true/*ФиксироватьКонтрагента = Неопределено ИЛИ ФиксироватьДоговор = Неопределено ИЛИ ФиксироватьЗаказ = Неопределено*/)
			{
				//ДеревоЗаказов = РезультатЗапроса.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
				//СтруктПараметрыФормы = Новый Структура;
				//СтруктПараметрыФормы.Вставить("ДеревоЗаказов",   ДеревоЗаказов);
				//СтруктПараметрыФормы.Вставить("Контрагент",      ФиксироватьКонтрагента);
				//СтруктПараметрыФормы.Вставить("Договор",         ФиксироватьДоговор);
				//СтруктПараметрыФормы.Вставить("Заказ",           ФиксироватьЗаказ);
				//СтруктПараметрыФормы.Вставить("ТолькоОдинЗаказ", НЕ СтруктПараметры.ЗаказВТабЧасти);
				//ФормаВыбораСклада = ПолучитьОбщуюФорму("ФормаВыбораКонтрагентаДоговораЗаказа");
				//ФормаВыбораСклада.НачальноеЗначениеВыбора = СтруктПараметрыФормы;
				//Выбор = ФормаВыбораСклада.ОткрытьМодально();
				if(true/*Выбор <> Неопределено*/)
				{
					//СтруктВозврат.Вставить("Контрагент",  Выбор.Контрагент);
					//СтруктВозврат.Вставить("Договор",     Выбор.Договор);
					//СтруктВозврат.Вставить("Заказ",       Выбор.Заказ);
					//СтруктВозврат.Вставить("ВыборСделан", Выбор.ВыборСделан);
				}
			}
			return null;
		}
		// ВыбратьКонтрагентДоговорЗаказИзДокументаОснования()
		// Процедура заполняет вычисляемую колонку ТЧ документа "ТабельныйНомерСтрока"
		//
		// Параметры
		//  ТЧДокумента  – Табличное поле
		//  ОформленияСтрок – Коллекция значений типа ОформлениеСтроки табличного поля ТЧДокумента
		//

		public void УстановитьЗначенияКолонкиТабельныйНомерСтрока(/*ТЧДокумента, ОформленияСтрок*/)
		{
			if(true/*ТЧДокумента.Колонки.Найти("ТабельныйНомерСтрока") = Неопределено 
		Или Не ТЧДокумента.Колонки.ТабельныйНомерСтрока.Видимость*/)
			{
			}
			//МассивСотрудников = Новый Массив;
			//Запрос = Новый Запрос;
			/*ТекстЗапроса = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Сотрудники.Код КАК ТабельныйНомер,
	|	Сотрудники.Ссылка КАК Сотрудник
	|ИЗ
	|	Справочник.СотрудникиОрганизаций КАК Сотрудники
	|ГДЕ
	|	Сотрудники.Ссылка В(&парамМассивСотрудников)";*/
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("парамМассивСотрудников", МассивСотрудников);
			//ТабельныеНомера = Новый Соответствие;
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ТабельныеНомера[Выборка.Сотрудник] = Выборка.ТабельныйНомер;
			}
		}
		// УстановитьЗначенияКолонкиТабельныйНомерСтрока()
		// Функция возврашает Ложь, если "Нет" или Истина, если "Да" на вопрос об необходимости перезаполнения счетов учета в ТЧ документа
		// Используется при изменени договора, организации, вида операции, склада и при изменения меток "Отражать в НУ" и "Отражать в БУ"
		//
		// Вниамние!!! Если функция вызывается при изменении метки "Отражать в НУ" то параметр ОтражатьВБухгалтерскомУчете должен быть пуст!
		//
		// Параметры
		//  ОтражатьВБухгалтерскомУчете  – заполняется если проверяется необходимость заполнения счетов бух. учета
		//  ОтражатьВНалоговомУчете      – заполняется если проверяется необходимость заполнения счетов нал. учета
		//  ПрименениеУСН                - Применяется ли УСН, если орг. на УСН то не спрашиваем о перезаполнении счетов НУ.

		public object НеобходимоПерезаполнитьСчетаУчета(/*ОтражатьВБухгалтерскомУчете= неопределено, ОтражатьВНалоговомУчете  = неопределено, ПрименениеУСН = Ложь*/)
		{
			if(true/*ОтражатьВБухгалтерскомУчете<>неопределено и ОтражатьВБухгалтерскомУчете*/)
			{
				if(true/*ОтражатьВНалоговомУчете <> неопределено*/)
				{
					//СпрашиватьОНУ = (Не ПрименениеУСН) И ОтражатьВНалоговомУчете;
				}
				//ТекстВопроса = "Установить счета бухгалтерского"+?(СпрашиватьОНУ," и налогового","")+" учета в соответствии со значениями по умолчанию?";
			}
			//Возврат  Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , , "Изменения счетов учета") = КодВозвратаДиалога.Да;
			return null;
		}
		//НеобходимоПерезаполнитьСчетаУчета
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ НАСТРОЙКИ ПЕРИОДА РЕГИСТРАЦИИ ДОКУМЕНТА
		// Функция преобразовывает дату в представление периода
		//
		// Параметры:
		//   ПериодРегистрации - Дата периода
		//
		// Возвращаемое значение:
		//  Строка
		//

		public object ПолучитьПредставлениеПериодаРегистрации(/*ПериодРегистрации*/)
		{
			//Возврат Формат(ПериодРегистрации, "ДФ='MMMM yyyy'");
			return null;
		}
		// Процедура обрабатывает событие регулирования в поле периода регистрации
		//

		public void РегулированиеПредставленияПериодаРегистрации(/*Направление, СтандартнаяОбработка, ПериодРегистрации, ПредставлениеПериодаРегистрации*/)
		{
			//СтандартнаяОбработка = Ложь;
			if(true/*Направление = 1*/)
			{
				//ПериодРегистрации = КонецМесяца(ПериодРегистрации) + 1;
			}
			//ПредставлениеПериодаРегистрации = ПолучитьПредставлениеПериодаРегистрации(ПериодРегистрации);
		}
		// Процедура обрабатывает событие начала выбора из списка в поле периода регистрации
		// Процедура исполняется только на клиенте
		//

		public void НачалоВыбораИзСпискаПредставленияПериодаРегистрации(/*Элемент, СтандартнаяОбработка, ПериодРегистрации, ЭтаФорма, НачальноеЗначение = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			if(true/*НачальноеЗначение = Неопределено*/)
			{
				//НачальноеЗначение = ПериодРегистрации;
			}
			//СписокВыбора = Новый СписокЗначений;
			//НачалоТекущегоГода = НачалоГода(НачальноеЗначение);
			//НачалоПрошлогоГода = НачалоГода(НачалоТекущегоГода - 1);
			//СписокВыбора.Добавить(НачалоПрошлогоГода, (Формат(НачалоПрошлогоГода, "ДФ='yyyy'") + "..."));
			//НачалоМесяцаЗаполнения = НачалоТекущегоГода;
			//ЭлементПоУмолчанию = Неопределено;
			//НачалоСледующегоГода = КонецГода(НачалоТекущегоГода) + 1;
			//СписокВыбора.Добавить(НачалоСледующегоГода, (Формат(НачалоСледующегоГода, "ДФ='yyyy'") + "..."));
			//ВыбранныйЭлемент = ЭтаФорма.ВыбратьИзСписка(СписокВыбора, Элемент, ЭлементПоУмолчанию);
			if(true/*ВыбранныйЭлемент = Неопределено*/)
			{
			}
			//ПериодРегистрации = ВыбранныйЭлемент.Значение;
			//Элемент.Значение  = ДатаКакМесяцПредставление(ПериодРегистрации);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ОБЕСПЕЧЕНИЯ ВВОДА ДАТЫ КАК МЕСЯЦА
		// Предназначена для реализации "произвольного" ввода даты-месяца
		// подбирает по переданному тексту строку-представление даты или список таких строк
		// в переданный параметр ДатаПоТексту возвращает подобранную по тексту дату

		public object ДатаКакМесяцПодобратьДатуПоТексту(/*Текст, ДатаПоТексту = НеОпределено*/)
		{
			//СписокВозврата = Новый СписокЗначений;
			//ТекущийГод = Год(ТекущаяДата());
			if(true/*ПустаяСтрока(Текст)*/)
			{
			}
			if(true/*Найти(Текст, ".") <> 0*/)
			{
				//Подстроки = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Текст, ".");
			}
			if(true/*Подстроки.Количество() = 1*/)
			{
				/*// единственное слово - пытаемся получить месяц
*/
				if(true/*ОбщегоНазначения.ТолькоЦифрыВСтроке(Текст)*/)
				{
					//МесяцЧислом = Число(Текст);
					if(true/*МесяцЧислом >= 1 и МесяцЧислом <=12*/)
					{
						//ДатаПоТексту = Дата(ТекущийГод, МесяцЧислом, 1);
						if(true/*СтрДлина(Текст) = 1*/)
						{
							//СписокВозврата.Добавить(Формат(ДатаПоТексту, "ДФ='М/гг'"));
						}
					}
				}
			}
			return null;
		}
		// подбирает массив номеров месяцев, соответствующих переданной строке
		// например, для строки "ма" это будут 3 и 5, для "а" - 4 и 8
		// используется в ПодобратьДатуПоТексту
		//

		public object СписокМесяцевПоСтроке(/*Текст*/)
		{
			//СписокМесяцев = Новый СписокЗначений;
			//Месяцы = Новый Соответствие;
			//МесяцыВозврата = Новый Массив;
			//КомпонентаСклоненияФИО = глЗначениеПеременной("глКомпонентаСклоненияФИО");
			return null;
		}

		public void ДатаКакМесяцАвтоПодборТекста(/*Текст, ТекстАвтоПодбора, СтандартнаяОбработка*/)
		{
			//Список = ДатаКакМесяцПодобратьДатуПоТексту(Текст);
			if(true/*Список.Количество() = 1*/)
			{
				//ТекстАвтоПодбора = Список[0];
			}
			//СтандартнаяОбработка = Ложь;
		}

		public void ДатаКакМесяцОкончаниеВводаТекста(/*Текст, Значение, СтандартнаяОбработка*/)
		{
			//Список = ДатаКакМесяцПодобратьДатуПоТексту(Текст);
			if(true/*Список.Количество() = 1*/)
			{
				//Значение = Текст;
			}
			//СтандартнаяОбработка = Ложь;
		}

		public object ДатаКакМесяцПредставление(/*ДатаДата*/)
		{
			//Возврат Формат(ДатаДата, "ДФ='ММММ гггг'");
			return null;
		}
		// Процедура выполняет открытие общей формы "ФормаПараметрыЭлектронногоОбменаДокументами".
		//
		// Параметры:
		//  ДокументОбъект - Объект документа, для которого открыта форма.
		//

		public void ОткрытьФормуПараметрыЭлектронногоОбменаДокументами(/*ДокументОбъект*/)
		{
			//Форма = ПолучитьОбщуюФорму("ФормаПараметрыЭлектронногоОбменаДокументами");
			//Форма.мДокументОбъект = ДокументОбъект;
			//Форма.ОткрытьМодально();
		}
		// ОткрытьФормуПараметрыЭлектронногоОбменаДокументами()
		// Процедура устанавливает доступность кнопки "ПолучитьВес" в переданной командной панели.
		//
		// Параметры:
		//  КнопкиКоманднойПанели - кнопки командная панель, в которой необходимо установить доступнойть кнопки.
		//  Весы - массив доступных электронных весов.
		//

		public void УстановитьДоступностьКнопкиПолучитьВес(/*КнопкиКоманднойПанели, Весы*/)
		{
			if(true/*Весы.Количество() = 0*/)
			{
				//КнопкиКоманднойПанели.Удалить(КнопкиКоманднойПанели.ПолучитьВес);
			}
		}
		// УстановитьДоступностьКнопкиПолучитьВес()
		// Процедура открывает из документов форму обработки "Печать раскладки номенклатуры по местам хранения".
		//
		// Параметры:
		//  ДокументОбъект - Объект документа, из которого вызвана процедура.
		//

		public void ОткрытьФормуНастройкиБланкаТоварногоНаполнения(/*ДокументОбъект*/)
		{
			if(true/*ПроверитьМодифицированность(ДокументОбъект)*/)
			{
				//Обработки.ПечатьРаскладкиНоменклатурыПоМестамХранения.Создать().ОткрытьФормуНастройкиИзДокумента(ДокументОбъект.Ссылка);
			}
		}
		// ОткрытьФормуНастройкиБланкаТоварногоНаполнения()
		// Процедура осуществляет открытие формы проверки штрихкодов.
		//
		// Параметры:
		//  Форма                 - <Форма>
		//                        - Форма документа, используемая в качестве владельца
		//                          открываемой формы проверки.
		//
		//  ДокументОбъект        - <ДокументОбъект.*>
		//                        - Проверяемый документ.
		//
		//  ПараметрыСвязиСтрокТЧ - <Соответствие>
		//                        - Параметры связи строк табличных частей документа.
		//
		//  ИмяТЧ                 - <Строка>
		//                        - Имя проверяемой табличной части.
		//

		public void ОткрытьФормуПроверкиШтрихкодов(/*Форма, ДокументОбъект, ПараметрыСвязиСтрокТЧ, ИмяТЧ = "Товары"*/)
		{
			//ФормаОбработки = Обработки.ПроверкаШтрихкодов.ПолучитьФорму(, Форма);
			if(true/*ФормаОбработки.Открыта()*/)
			{
				//ФормаОбработки.Активизировать();
			}
		}
		// ОткрытьФормуПроверкиШтрихкодов()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ МЕХАНИЗМА ВСТРОЕННОЙ СПРАВКИ

		public object ПолучитьПутьККартинкеДляHTML(/*Картинка, ПолеHTMLДокумента*/)
		{
			//МетаУрл	= ПолеHTMLДокумента.ПолучитьURL(Метаданные);
			//МетаУрл	= Лев(МетаУрл,Найти(МетаУрл,"mdobject")-1);
			//КартИД	= ЗначениеВСтрокуВнутр(Картинка);
			//КартИД	= Сред(КартИД,Найти(КартИД,"{")+1);
			//КартИД	= Сред(КартИД,Найти(КартИД,"{")+1);
			//КартИД	= Сред(КартИД,Найти(КартИД,"{")+1);
			//КартИД	= Лев(КартИД,НАйти(КартИД,"}")-1);
			if(true/*Лев(КартИД,1) = "-"*/)
			{
				//КартИд	= "n"+КартИД;
			}
			return null;
		}
		// КартинкаУрл()

		public object ВернутьШестнадцатиричноеПредставлениеЦвета(/*ВыбранныйЦвет*/)
		{
			if(true/*ТипЗнч(ВыбранныйЦвет) <> Тип("Цвет")*/)
			{
			}
			//Красный	= ОбщегоНазначения.ДесятичноеВШестнадцатиричное(ВыбранныйЦвет.Красный);
			//Зеленый	= ОбщегоНазначения.ДесятичноеВШестнадцатиричное(ВыбранныйЦвет.Зеленый);
			//Синий	= ОбщегоНазначения.ДесятичноеВШестнадцатиричное(ВыбранныйЦвет.Синий);
			return null;
		}

		public void УстановитьВидимостьТекста(/*Документ, Ид, ВключитьВидимость, Параметр = "inline"*/)
		{
			/*// Документ должен быть всегда загружен и в нем должен найтись нужный нам элемент
*/
			/*// Пользователь может увидеть данные сообщения только в том случае, если при кодировании
*/
			/*// механизма были допущены ошибки
*/
			/*// Данное сообщение будет выведено, если мы пытаемся обновить справку ПриОткрытии формы
*/
			/*// Обновлять справку в этом событии не нужно, так как текст справки был изначально
*/
			/*// сформирован правильно
*/
			if(true/*Документ.readyState <> "complete"*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Справка: справка еще не загружена");
			}
			/*// Данное сообщение будет выведено, если мы пытаемся переключить видимость элемента
*/
			/*// которого нет в справке. Такое может только в случае, если бы допустили ошибку в коде
*/
			//Элемент = Документ.getElementById(Ид);
			if(true/*Элемент = Неопределено*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке("Справка: не найден элемент " + Ид);
			}
			//Элемент.style.display = ?(ВключитьВидимость, Параметр, "none");
		}

		public void ПолеHTMLДокументаOnClick(/*Элемент, pEvtObj, Форма*/)
		{
			//ЭлементHTML = НайтиЭлемент(pEvtObj.srcElement, "A");
			if(true/*ЭлементHTML = Неопределено*/)
			{
			}
			if(true/*ЭлементHTML.id = "Команда"*/)
			{
				//pEvtObj.returnValue = Ложь;
			}
		}

		public object НайтиЭлемент(/*ЭлементHTML, НазваниеТега*/)
		{
			//ТекущийЭлементHTML = ЭлементHTML;
			while(true/*Истина*/)
			{
				if(true/*ТекущийЭлементHTML.tagName = "BODY"*/)
				{
				}
			}
			//;;
			return null;
		}

		public void ПолеHTMLДокументаOnMouseOver(/*Элемент, pEvtObj, ВыделятьРазделы = Ложь*/)
		{
			if(true/*ВыделятьРазделы*/)
			{
				//ЭлементHTML = НайтиЭлемент(pEvtObj.srcElement, "DIV");
				if(true/*ЭлементHTML <> Неопределено*/)
				{
					//ЭлементHTML.style.paddingtop		= 0;
					//ЭлементHTML.style.paddingright		= 3;
					//ЭлементHTML.style.paddingbottom		= 2;
					//ЭлементHTML.style.paddingleft		= 3;
					//ЭлементHTML.style.borderwidth		= 1;
					//ЭлементHTML.style.borderstyle		= "solid";
					//ЭлементHTML.style.backgroundcolor	= "#FFFBF0";
				}
			}
			//ЭлементHTML = НайтиЭлемент(pEvtObj.srcElement, "A");
			if(true/*ЭлементHTML <> Неопределено*/)
			{
				//ЭлементHTML.style.backgroundcolor	= ВернутьШестнадцатиричноеПредставлениеЦвета(ВстроеннаяСправка_ФонВыделеннойСсылки());
				//ЭлементHTML.style.color				= ВернутьШестнадцатиричноеПредставлениеЦвета(ВстроеннаяСправка_ЦветВыделеннойСсылки());
			}
		}

		public void ПолеHTMLДокументаOnMouseOut(/*Элемент, pEvtObj, ВыделятьРазделы = Ложь*/)
		{
			if(true/*ВыделятьРазделы*/)
			{
				//ЭлементHTML = НайтиЭлемент(pEvtObj.srcElement, "DIV");
				if(true/*ЭлементHTML <> Неопределено*/)
				{
					//ЭлементHTML.style.paddingtop		= 1;
					//ЭлементHTML.style.paddingright		= 4;
					//ЭлементHTML.style.paddingbottom		= 3;
					//ЭлементHTML.style.paddingleft		= 4;
					//ЭлементHTML.style.borderstyle		= "none";
					//ЭлементHTML.style.backgroundcolor	= "";
				}
			}
			//ЭлементHTML = НайтиЭлемент(pEvtObj.srcElement, "A");
			if(true/*ЭлементHTML <> Неопределено*/)
			{
				//ЭлементHTML.style.backgroundcolor	= "";
				//ЭлементHTML.style.color				= "";
			}
		}

		public object ВстроеннаяСправка_ЦветФона(/**/)
		{
			return null;
		}

		public object ВстроеннаяСправка_ЦветРамки(/**/)
		{
			return null;
		}

		public object ВстроеннаяСправка_ЦветСсылки(/**/)
		{
			return null;
		}

		public object ВстроеннаяСправка_ЦветВыделеннойСсылки(/**/)
		{
			return null;
		}

		public object ВстроеннаяСправка_ФонВыделеннойСсылки(/**/)
		{
			return null;
		}
		// Возвращает описание стилей, используемых при показе встроенной ситуационно-зависимой справки
		//
		// Параметры
		//  нет
		//
		// Возвращаемое значение:
		//   строка
		//

		public object ВстроеннаяСправка_СтилиДокумента(/**/)
		{
			/*Возврат "
	|		<STYLE type=text/css>
	|			DIV.top {
	|				PADDING: 0;
	|			}
	|			DIV {
	|				PADDING: 3px 0px 3px 3px;
	|				BORDER-TOP-COLOR: #dadac4;
	|				BORDER-RIGHT-COLOR: #dadac4;
	|				BORDER-BOTTOM-COLOR: #dadac4;
	|				BORDER-LEFT-COLOR: #dadac4;
	|			}
	|			A {
	|				PADDING-TOP: 1px;
	|				PADDING-BOTTOM: 1px;
	|			}
	|			BODY {
	|				SCROLLBAR-FACE-COLOR: #fffbf0;
	|				SCROLLBAR-HIGHLIGHT-COLOR: #dadac4;
	|				SCROLLBAR-3DLIGHT-COLOR: #fff; MARGIN: 5px;
	|				SCROLLBAR-ARROW-COLOR: #708090;
	|				SCROLLBAR-TRACK-COLOR: #fffbf0;
	|				SCROLLBAR-DARKSHADOW-COLOR: #fff;
	|				MARGIN: 5px 0px 5px 5px;
	|			}
	|			IMG {
	|				MARGIN-LEFT: 3px;
	|			}
	|		</STYLE>";*/
			return null;
		}
		// ()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ИЗМЕНЕНИЯ ВИДИМОСТИ ПАНЕЛЕЙ

		public void УстановитьВидимостьСправкиФормы(/*ОбновитьСправку = Истина, ОтображатьСправкуФормы, Форма, ИмяЭлементаУправленияОграничитель, СтруктураОбработчикиИзмененияДанных*/)
		{
			//ЭлементыФормы = Форма.ЭлементыФормы;
			//ЭлементыФормы.ДействияФормы.Кнопки.ПереключениеСправкиФормы.Пометка = ОтображатьСправкуФормы;
			if(true/*(ОтображатьСправкуФормы И ЭлементыФормы.ПанельСправкиФормы.Свертка = РежимСверткиЭлементаУправления.Нет) ИЛИ
		(НЕ ОтображатьСправкуФормы И ЭлементыФормы.ПанельСправкиФормы.Свертка <> РежимСверткиЭлементаУправления.Нет)*/)
			{
			}
			if(true/*ЭлементыФормы.ПанельСправкиФормы.Свертка = РежимСверткиЭлементаУправления.Нет*/)
			{
				//ЭлементыФормы[ИмяЭлементаУправленияОграничитель].Ширина = ЭлементыФормы[ИмяЭлементаУправленияОграничитель].Ширина + ЭлементыФормы.РазделительСправкиФормы.Ширина;
				//ЭлементыФормы.ПанельСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Лево);
				//ЭлементыФормы.РазделительСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Право, ЭлементыФормы.ПанельСправкиФормы, ГраницаЭлементаУправления.Лево);
				//ЭлементыФормы.ПанельСправкиФормы.Свертка = РежимСверткиЭлементаУправления.Право;
				//ЭлементыФормы.РазделительСправкиФормы.Свертка = РежимСверткиЭлементаУправления.Право;
			}
		}

		public void ДобавитьПанельСправкиФормы(/*Форма, ИмяЭлементаУправленияОграничитель*/)
		{
			//ШиринаПанелиСправкаФормы = 224;
			//ШиринаРазделителяСправкаФормы = 6;
			//ВысотаНадписиЗакрытьСправкуФормы = 35;
			//ЭлементУправленияОграничитель = Форма.ЭлементыФормы[ИмяЭлементаУправленияОграничитель];
			/*// ПанельСправкиФормы
*/
			//ПанельСправкиФормыВерх = ЭлементУправленияОграничитель.Верх;
			//ПанельСправкиФормыЛево = ЭлементУправленияОграничитель.Лево + ЭлементУправленияОграничитель.Ширина - ШиринаПанелиСправкаФормы;
			//ПанельСправкиФормыШирина = ШиринаПанелиСправкаФормы;
			//ПанельСправкиФормыВысота = ЭлементУправленияОграничитель.Высота;
			//ПанельСправкиФормы = Форма.ЭлементыФормы.Добавить(Тип("Панель"), "ПанельСправкиФормы");
			//ПанельСправкиФормы.ОтображениеЗакладок = ОтображениеЗакладок.НеИспользовать;
			//ПанельСправкиФормы.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная);
			//ПанельСправкиФормы.Верх = ПанельСправкиФормыВерх;
			//ПанельСправкиФормы.Лево = ПанельСправкиФормыЛево;
			//ПанельСправкиФормы.Ширина = ПанельСправкиФормыШирина;
			//ПанельСправкиФормы.Высота = ПанельСправкиФормыВысота;
			/*// ВстроеннаяСправка
*/
			//ВстроеннаяСправка = Форма.ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ВстроеннаяСправка",, ПанельСправкиФормы);
			//ВстроеннаяСправка.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.БезРамки);
			//ВстроеннаяСправка.Верх = 0;
			//ВстроеннаяСправка.Лево = 0;
			//ВстроеннаяСправка.Ширина = ПанельСправкиФормыШирина;
			//ВстроеннаяСправка.Высота = ПанельСправкиФормыВысота - ВысотаНадписиЗакрытьСправкуФормы;
			//ВстроеннаяСправка.УстановитьДействие("onclick", Новый Действие("ВстроеннаяСправкаonclick"));
			//ВстроеннаяСправка.УстановитьДействие("onmouseout", Новый Действие("ВстроеннаяСправкаonmouseout"));
			//ВстроеннаяСправка.УстановитьДействие("onmouseover", Новый Действие("ВстроеннаяСправкаonmouseover"));
			/*// НадписиЗакрытьСправкуФормы
*/
			//НадписиЗакрытьСправкуФормы = Форма.ЭлементыФормы.Добавить(Тип("Надпись"), "НадписиЗакрытьСправкуФормы",, ПанельСправкиФормы);
			//НадписиЗакрытьСправкуФормы.Заголовок = "Скрыть эту информацию";
			//НадписиЗакрытьСправкуФормы.ГиперСсылка = Истина;
			//НадписиЗакрытьСправкуФормы.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
			//НадписиЗакрытьСправкуФормы.ВертикальноеПоложение = ВертикальноеПоложение.Центр;
			//НадписиЗакрытьСправкуФормы.Верх = ПанельСправкиФормыВысота - ВысотаНадписиЗакрытьСправкуФормы;
			//НадписиЗакрытьСправкуФормы.Лево = 0;
			//НадписиЗакрытьСправкуФормы.Ширина = ПанельСправкиФормыШирина;
			//НадписиЗакрытьСправкуФормы.Высота = ВысотаНадписиЗакрытьСправкуФормы;
			//НадписиЗакрытьСправкуФормы.УстановитьДействие("Нажатие", Новый Действие("ПереключитьВидимостьСправкиФормы"));
			/*// РазделительСправкиФормы
*/
			//РазделительСправкиФормыВерх = ЭлементУправленияОграничитель.Верх;
			//РазделительСправкиФормыЛево = ЭлементУправленияОграничитель.Лево + ЭлементУправленияОграничитель.Ширина - ШиринаПанелиСправкаФормы - ШиринаРазделителяСправкаФормы;
			//РазделительСправкиФормыШирина = ШиринаРазделителяСправкаФормы;
			//РазделительСправкиФормыВысота = ЭлементУправленияОграничитель.Высота;
			//РазделительСправкиФормы = Форма.ЭлементыФормы.Добавить(Тип("Разделитель"), "РазделительСправкиФормы");
			//РазделительСправкиФормы.Верх = РазделительСправкиФормыВерх;
			//РазделительСправкиФормы.Лево = РазделительСправкиФормыЛево;
			//РазделительСправкиФормы.Ширина = РазделительСправкиФормыШирина;
			//РазделительСправкиФормы.Высота = РазделительСправкиФормыВысота;
			/*//Установка привязок
*/
			//ПервыйЭлемент = Неопределено;
			//ГраницаПервогоЭлемента = Неопределено;
			//ВторойЭлемент = Неопределено;
			//ГраницаВторогоЭлемента = Неопределено;
			//ЭлементУправленияОграничитель.ПолучитьПривязку(ГраницаЭлементаУправления.Верх, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//ПанельСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//РазделительСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//ЭлементУправленияОграничитель.ПолучитьПривязку(ГраницаЭлементаУправления.Низ, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//ПанельСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//РазделительСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент, ГраницаВторогоЭлемента);
			//ПанельСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Лево, РазделительСправкиФормы, ГраницаЭлементаУправления.Право);
			//ПанельСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Право, Форма.Панель, ГраницаЭлементаУправления.Право);
			//ВстроеннаяСправка.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ПанельСправкиФормы, ГраницаЭлементаУправления.Лево);
			//ВстроеннаяСправка.УстановитьПривязку(ГраницаЭлементаУправления.Право, ПанельСправкиФормы, ГраницаЭлементаУправления.Право);
			//ВстроеннаяСправка.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ПанельСправкиФормы, ГраницаЭлементаУправления.Верх);
			//ВстроеннаяСправка.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ПанельСправкиФормы, ГраницаЭлементаУправления.Низ);
			//НадписиЗакрытьСправкуФормы.УстановитьПривязку(ГраницаЭлементаУправления.Лево, ПанельСправкиФормы, ГраницаЭлементаУправления.Лево);
			//НадписиЗакрытьСправкуФормы.УстановитьПривязку(ГраницаЭлементаУправления.Право, ПанельСправкиФормы, ГраницаЭлементаУправления.Право);
			//НадписиЗакрытьСправкуФормы.УстановитьПривязку(ГраницаЭлементаУправления.Верх, ПанельСправкиФормы, ГраницаЭлементаУправления.Низ);
			//НадписиЗакрытьСправкуФормы.УстановитьПривязку(ГраницаЭлементаУправления.Низ, ПанельСправкиФормы, ГраницаЭлементаУправления.Низ);
			//РазделительСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Лево, РазделительСправкиФормы, ГраницаЭлементаУправления.Право);
			//РазделительСправкиФормы.УстановитьПривязку(ГраницаЭлементаУправления.Право, Форма.Панель, ГраницаЭлементаУправления.Право);
			//ЭлементУправленияОграничитель.Ширина = ЭлементУправленияОграничитель.Ширина - ШиринаПанелиСправкаФормы - ШиринаРазделителяСправкаФормы;
			//ЭлементУправленияОграничитель.УстановитьПривязку(ГраницаЭлементаУправления.Право, РазделительСправкиФормы, ГраницаЭлементаУправления.Право);
		}
		// Процедура вычисления даты окончания действия учетной политики
		// параметры
		// ТекПериод - дата начала дейстия учетной политики
		// ТекОрганизация - организация, учетная политика которой рассматривается

		public object НайтиДатуОкончанияДействия(/*ТекПериод, ТекОрганизация*/)
		{
			//УчетнаяПолитика = глЗначениеПеременной("УчетнаяПолитикаРегл");
			//УчетнаяПолитикаКопия = УчетнаяПолитика.Скопировать();
			//УчетнаяПолитикаКопия.Сортировать("Период Возр");
			//ДатаОкончания = ТекПериод;
			//ДатаОкончания = ?(ТекПериод > РабочаяДата, КонецГода(ТекПериод), КонецГода(ДатаОкончания));
			return null;
		}

		public object ВставитьКолонкуВТабличноеПоле(/*НомерКолонки = Неопределено, ТабличноеПоле, Имя, ТекстШапки, 
									Данные = Неопределено, ДанныеФлажка = Неопределено, Подсказка = "", Видимость = Истина, 
									ТипЭлементаУправления = Неопределено, Положение = Неопределено, Ширина = Неопределено,
									КнопкаВыбора = Неопределено, КнопкаОткрытия = Неопределено, КнопкаОчистки = Неопределено*/)
		{
			if(true/*НомерКолонки = Неопределено*/)
			{
				//НоваяКолонка = ТабличноеПоле.Колонки.Добавить(Имя, ТекстШапки);
			}
			if(true/*ТипЭлементаУправления <> Неопределено*/)
			{
				//НоваяКолонка.УстановитьЭлементУправления(ТипЭлементаУправления);
				if(true/*КнопкаВыбора <> Неопределено*/)
				{
					//НоваяКолонка.ЭлементУправления.КнопкаВыбора = КнопкаВыбора;
				}
				if(true/*КнопкаОткрытия <> Неопределено*/)
				{
					//НоваяКолонка.ЭлементУправления.КнопкаОткрытия = КнопкаОткрытия;
				}
				if(true/*КнопкаОчистки <> Неопределено*/)
				{
					//НоваяКолонка.ЭлементУправления.КнопкаОчистки = КнопкаОчистки;
				}
			}
			if(true/*Данные <> Неопределено*/)
			{
				//НоваяКолонка.Данные = Данные;
			}
			if(true/*ДанныеФлажка <> Неопределено*/)
			{
				//НоваяКолонка.ДанныеФлажка = ДанныеФлажка;
			}
			if(true/*Положение <> Неопределено*/)
			{
				//НоваяКолонка.Положение = Положение;
			}
			if(true/*Ширина <> Неопределено*/)
			{
				//НоваяКолонка.Ширина = Ширина;
			}
			//НоваяКолонка.ПодсказкаВШапке = Подсказка;
			//НоваяКолонка.Видимость = Видимость;
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ СОХРАНЕНИЯ И ВОССТАНОВЛЕНИЯ ВЫПАДАЮЩИХ СПИСКОВ ПОСЛЕДНИХ 10 ЗНАЧЕНИЙ
		// Процедура восстанавливает список 10 последних выпавших значений элемента

		public void ВосстановитьСписокЗначенийУнивер(/*СписокЗначений, ИмяПараметраДляСохранения = "", СписокЭлементаВизуализации*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(ИмяПараметраДляСохранения)*/)
			{
			}
			//СписокЗначений.Очистить();
			//ВосстановленноеЗначение = ВосстановитьЗначение(ИмяПараметраДляСохранения);
			if(true/*ТипЗнч(ВосстановленноеЗначение) = Тип("СписокЗначений")*/)
			{
				//СписокЗначений = ВосстановленноеЗначение;
				//СписокЭлементаВизуализации = СписокЗначений.Скопировать();
			}
		}
		// Процедура добавляет в список последних 10-ти значений элементов
		// Параметры :
		//		СписокСохраняемыхЗначений - список значений куда нужно поместить очередной элемент
		//      ИмяПараметраДляСохранения - под каким именем сохранить значение (если пустая - то ничего не сохраняем)
		//      ЭлементСписка			  - выбранный элемент списка

		public void ДобавитьВСписокЗначенийУнивер(/*СписокСохраняемыхЗначений, ИмяПараметраДляСохранения = "", ЭлементСписка, 
	Знач ЗначениеПоиска = ""*/)
		{
			if(true/*ПустаяСтрока(ЗначениеПоиска)*/)
			{
				//ДобавляемоеЗначение = ЭлементСписка.Значение;
			}
			//НайденныйЭлемент = СписокСохраняемыхЗначений.НайтиПоЗначению(ДобавляемоеЗначение);
			if(true/*НайденныйЭлемент <> Неопределено*/)
			{
				//СписокСохраняемыхЗначений.Удалить(НайденныйЭлемент);
			}
			//СписокСохраняемыхЗначений.Вставить(0, ДобавляемоеЗначение);
			while(true/*СписокСохраняемыхЗначений.Количество() > 10*/)
			{
				//СписокСохраняемыхЗначений.Удалить(СписокСохраняемыхЗначений.Количество() - 1);
			}
			if(true/*(ЗначениеЗаполнено(ИмяПараметраДляСохранения)) И ТипЗнч(ИмяПараметраДляСохранения) = Тип("Строка")*/)
			{
				//СохранитьЗначение(ИмяПараметраДляСохранения, СписокСохраняемыхЗначений.Скопировать());
			}
			//ЭлементСписка.СписокВыбора = СписокСохраняемыхЗначений.Скопировать();
		}
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБСЛУЖИВАНИЯ ОСТАТКОВ НОМЕНКЛАТУРЫ
		// Процедура вызывается при выводе строки дерева остатков номенклатуры на складах.
		//

		public void ПриВыводеСтрокиБезЦены(/*Элемент, ОформлениеСтроки, ДанныеСтроки, ОтображатьСклады, НоменклатураТекущиеДанные*/)
		{
			if(true/*ДанныеСтроки.Родитель = Неопределено*/)
			{
				if(true/*ОтображатьСклады*/)
				{
					//ОформлениеСтроки.ЦветФона = ЦветаСтиля.ЦветФонаФормы;
				}
				if(true/*НЕ ЗначениеЗаполнено(ДанныеСтроки.ХарактеристикаСклад)*/)
				{
					if(true/*НоменклатураТекущиеДанные <> Неопределено
			   И НЕ НоменклатураТекущиеДанные.ЭтоГруппа
			   И НЕ НоменклатураТекущиеДанные.ВестиУчетПоХарактеристикам*/)
					{
						//ОформлениеСтроки.Ячейки.ХарактеристикаСклад.Текст = "Учет по характеристикам не ведется";
					}
				}
			}
		}
		// Процедура обрабатывает событие Выбор табличного поля остатков товаров на складах.
		//

		public void ОбработатьВыборТаблицаОстатков(/*Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка, ТекущаяНоменклатура*/)
		{
			if(true/*Колонка.Имя = "СвободныйОжидаемый"
	   И ЗначениеЗаполнено(ВыбраннаяСтрока.СвободныйОжидаемый)
	   И ВыбраннаяСтрока.Родитель = Неопределено*/)
			{
				//Отчет = Отчеты.ОтчетСписокКроссТаблица.Создать();
				//СтруктураНостроек = Новый Структура;
				//СтруктураНостроек.Вставить("ИмяРегистра", "ЗаказыПоставщикам");
				//СтруктураНостроек.Вставить("ДатаКон", ТекущаяДата());
				//СоответствиеОтбора = Новый Соответствие;
				//СоответствиеОтбора.Вставить("Номенклатура", ТекущаяНоменклатура);
				//СоответствиеОтбора.Вставить("ХарактеристикаНоменклатуры", ВыбраннаяСтрока.ХарактеристикаСклад);
				//СтруктураНостроек.Вставить("Отбор",СоответствиеОтбора);
				//СоответствиеГруппировок = Новый Соответствие;
				//СоответствиеГруппировок.Вставить("ЗаказПоставщику.ДатаПоступления");
				//СоответствиеГруппировок.Вставить("ЗаказПоставщику");
				//СтруктураНостроек.Вставить("ГруппировкиСтрок", СоответствиеГруппировок);
				//СтруктураНостроек.Вставить("ВыбранныеПоля",  Новый Структура("Цена", "Цена"));
				//СтруктураНостроек.Вставить("РаскрашиватьИзмерения", Истина);
				//Отчет.Настроить(СтруктураНостроек);
				//ФормаОтчета = Отчет.ПолучитьФорму();
				//ФормаОтчета.ОбновитьОтчет();
				//ФормаОтчета.Открыть();
			}
		}
		// Процедура устанавливает порядок столбцов сумм такой же как порядок следования строк типов цен

		public void УстановитьПорядокКолонокСуммТабПоле(/*ТабПоле, СписокЦенОстатков, КоличествоБазовыхКолонок*/)
		{
			//НомерКолонкиВСписке = КоличествоБазовыхКолонок;
		}
		// Процедура перемещает строку типа цен либо вверх либо вниз

		public void ПереместитьТипЦен(/*ТабПолеСписокЦен, ТабПолеОстаткиИЦены, СписокЦенОстатков, КоличествоБазовыхКолонок, ПереместитьВверх*/)
		{
			//СтрокаТиповЦен = ТабПолеСписокЦен.ТекущиеДанные;
			if(true/*СтрокаТиповЦен = Неопределено*/)
			{
			}
			//КоличествоТиповЦен = СписокЦенОстатков.Количество();
			//ИндексСтроки = СписокЦенОстатков.Индекс(СтрокаТиповЦен);
			if(true/*ПереместитьВверх*/)
			{
				if(true/*ИндексСтроки <> 0*/)
				{
					/*// перемещаем строку на 1 позицию вверх
*/
					//СписокЦенОстатков.Сдвинуть(СтрокаТиповЦен, -1);
				}
			}
			/*// если тип цен выводится - то надо колонки поменять в соответвии с порядком следования типов цен
*/
			if(true/*СтрокаТиповЦен.Пометка*/)
			{
				/*// Осталось только позиции колонок в гриде установить нужные
*/
				//УстановитьПорядокКолонокСуммТабПоле(ТабПолеОстаткиИЦены, СписокЦенОстатков, КоличествоБазовыхКолонок);
			}
		}
		// Процедура добавляет или удаляет колонки сумм по типам сумм для номенклатуры у табличного поля

		public void ОбновитьКолонкиСуммТабПоле(/*ТабПоле, СписокЦенОстатков, ВВалютеЦены, ВалютаЦены, ОбновлятьШапкиКолонок = Истина, КоличествоБазовыхКолонок*/)
		{
			//ВыводитьВУстановленнойВалюте = НЕ ВВалютеЦены И ЗначениеЗаполнено(ВалютаЦены);
			//ПостфиксЦены = ?(ВыводитьВУстановленнойВалюте, " Цена, " + СокрЛП(ВалютаЦены), " Цена");
			//НомерКолонкиВСписке = КоличествоБазовыхКолонок;
		}
		// Процедура обновляет тексты шапок колонок остатков (добавляет к ним единицы измерения)

		public void ОбновитьШапкиКолонокОстатков(/*ТабПоле, ЕдиницаХранения*/)
		{
			//СтрокаПредставленияЕдиницы = ?(НЕ ЗначениеЗаполнено(ЕдиницаХранения), "", (", " + СокрЛП(ЕдиницаХранения)));
			//ТабПоле.Колонки.Общий.ТекстШапки              = "Общий"      + СтрокаПредставленияЕдиницы;
			//ТабПоле.Колонки.Свободный.ТекстШапки          = "Свободный"  + СтрокаПредставленияЕдиницы;
			//ТабПоле.Колонки.СвободныйОжидаемый.ТекстШапки = "Своб.ожид." + СтрокаПредставленияЕдиницы;
			//ТабПоле.Колонки.ВРезерве.ТекстШапки           = "В резерве"  + СтрокаПредставленияЕдиницы;
		}
		// Процедура в нужном формате формирует суммы к выводу

		public void ПриВыводеСуммОстатковНоменклатуры(/*ОформлениеСтроки, ДанныеСтроки, СписокПрефиксовИмен, ВВалютеЦены*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(СписокПрефиксовИмен) ИЛИ (СписокПрефиксовИмен.Количество() = 0)*/)
			{
			}
		}
		// Процедура отмечает все элементы из списка

		public void ОтметитьЭлементыСписка(/*Список, ФлагОтметки*/)
		{
			if(true/*Список = Неопределено*/)
			{
			}
		}
		// Процедура открывает форму выбора справочника "Склады" с переданным отбором по виду склада.
		//
		// Параметры:
		//  ЭлементФормы - элемент формы, в котором инициирован выбор.
		//  ВидСклада - нужный вид склада.
		//  СтандартнаяОбработка - Флаг стандартной обработки выбора. Здесь сбрасывается.
		//

		public void НачалоВыбораСклада(/*ЭлементФормы, ВидСклада, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = Справочники.Склады.ПолучитьФормуВыбора(, ЭлементФормы);
			//ФормаВыбора.ПараметрВыборГруппИЭлементов = ЭлементФормы.ВыборГруппИЭлементов;
			//ФормаВыбора.СправочникСписок.Отбор.ВидСклада.Установить(ВидСклада);
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидСклада.Доступность = Ложь;
			//ФормаВыбора.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = ЭлементФормы.Значение;
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораСклада()
		// процедура позволяет настрить период (ограничения по датам для отчета)

		public void ОбработчикНастройкаПериодаНажатие(/*ДатаНач, ДатаКон*/)
		{
			//НП = Новый НастройкаПериода;
			//НП.ВариантНастройки = ВариантНастройкиПериода.Период;
			//НП.УстановитьПериод(НачалоДня(ДатаНач), ?(ДатаКон = '00010101', ДатаКон, КонецДня(ДатаКон)));
			if(true/*НП.Редактировать()*/)
			{
				//ДатаНач = НП.ПолучитьДатуНачала();
				//ДатаКон = НП.ПолучитьДатуОкончания();
			}
		}
		// Универсальная процедура, которая инициирует механизм подбора
		// номенклатуры в документы (открывает основную форму обработки подбор).
		//
		// Параметры:
		//  ФормаДокумента - форма документа, в который осуществляется подбор,
		//  СтруктураПараметров - параметры, которые передаются в форму подбора.
		//

		public void ОткрытьПодборНоменклатуры(/*ФормаДокумента, СтруктураПараметров, Метаданные, ФормаПодбора = Неопределено*/)
		{
			//МетаданныеДокумента = Метаданные;
			/*// Открываем форму подбора.
*/
			//ФормаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма", ФормаДокумента, ФормаДокумента);
			//ФормаПодбора.ОбработкаОбъект.СтруктураИсходныхПараметров = СтруктураПараметров;
			//ФормаПодбора.Открыть();
		}
		// ОткрытьПодборНоменклатуры()
		// Процедура, которая обновляет параметры подбора номенклатуры и
		// инициирует обновление формы подбора, если она открыта
		//
		// Параметры:
		//  ДокументОбъект     - объект документа, в котором производится подбор.
		//  ФормаДокумента     - форма документа, в который осуществляется подбор,
		//  ПолноеИмяРеквизита - полное имя реквизита, который изменился.
		//

		public void ОбновитьПараметрыИФормуПодбора(/*ДокументОбъект, ФормаДокумента, ПолноеИмяРеквизита*/)
		{
			//ФормаПодбора = Обработки.ПодборНоменклатуры.ПолучитьФорму("ОсновнаяФорма", ФормаДокумента, ФормаДокумента);
			if(true/*ФормаПодбора.Открыта()*/)
			{
				//ИмяРеквизита = СтрЗаменить(ПолноеИмяРеквизита, "ДокументОбъект.", "");
				//ИмяКлюча     = ?(ИмяРеквизита = "СкладОрдер" ИЛИ ИмяРеквизита = "СкладОтправитель" ИЛИ ИмяРеквизита = "СкладГруппа", "Склад", ИмяРеквизита);
				if(true/*ФормаПодбора.ОбработкаОбъект.СтруктураИсходныхПараметров.Свойство(ИмяКлюча)*/)
				{
					//ФормаПодбора.ОбработкаОбъект.СтруктураИсходныхПараметров.Вставить(ИмяКлюча, ДокументОбъект[ИмяРеквизита]);
					//СтруктураЗапроса = ФормаПодбора.ЭлементыФормы.СписокВидовПодбора.Значение;
					//Родитель         = ФормаПодбора.ПолучитьТекущегоРодителя();
					//ФормаПодбора.ОбновитьИнформационнуюНадписьПараметрыПодбора(СтруктураЗапроса);
					//ФормаПодбора.ПерезаполнитьТаблицуНоменклатуры(Родитель, СтруктураЗапроса);
					if(true/*СтруктураЗапроса = Неопределено ИЛИ СтруктураЗапроса = "Спецификации"*/)
					{
						if(true/*СтруктураЗапроса = "Спецификации"*/)
						{
							//ФормаПодбора.ЭлементыФормы.СправочникСпецификации.Значение.Обновить();
						}
					}
				}
			}
		}
		// ОбновитьПараметрыИФормуПодбора()
		// Делает страницу панели с переданным именем видимой и текущей, а остальные - невидимыми
		//  Параметры:
		//	ИмяСтраницы  - страница, которую необходимо сделать текущей
		//  Панель - имя панели;
		//

		public void УстановитьТекущуюСтраницу(/*ИмяСтраницы, Панель*/)
		{
			//Панель.ТекущаяСтраница=Панель.Страницы[ИмяСтраницы];
		}
		// УстановитьТекущуюСтраницу()
		// Функция проверяет ведение производственной деятельности в указанной организации.
		//
		// Параметры:
		//	Организация - СправочникСсылка.Организации - Текущая организация
		//	Дата - Дата - Дата документа
		//	ТипОбъекта - Тип - Тип документа
		//
		// Возвращаемое значение:
		//	Булево - Истина - Документ может отражаться в регламентированном учете
		//			 Ложь - Документ не должен отражаться в регламентированном учете
		//

		public object ПолучитьПризнакОтраженияВРегламентированномУчетеДляПроизводственныхДокументов(/*
	Организация, 
	Дата, 
	ТипОбъекта
	*/)
		{
			//МассивДокументов = Новый Массив;
			//МассивДокументов.Добавить(Тип("ДокументОбъект.АктОбОказанииПроизводственныхУслуг"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ВозвратПереданныхТоваров"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ИнвентаризацияБракаВПроизводстве"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ИнвентаризацияНЗП"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.КорректировкаНЗП"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ОприходованиеНЗП"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ОтчетПроизводстваЗаСмену"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ПередачаТоваров"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ПолучениеУслугПоПереработке"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.ПоступлениеТоваровИзПереработки"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.РаспределениеМатериаловНаВыпуск"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.РаспределениеПрочихЗатрат"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.РеализацияУслугПоПереработке"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.СписаниеНЗП"));
			//МассивДокументов.Добавить(Тип("ДокументОбъект.УстановкаБазыРаспределенияЗатрат"));
			//ОтражатьВРегламентированномУчете = Истина;
			if(true/*МассивДокументов.Найти(ТипОбъекта) <> Неопределено*/)
			{
				//УчетнаяПолитика = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиРегл(Дата, Организация, Ложь);
				if(true/*ЗначениеЗаполнено(УчетнаяПолитика)*/)
				{
					if(true/*НЕ УчетнаяПолитика.ОрганизацияВедетПроизводственнуюДеятельность*/)
					{
						/*ОбщегоНазначения.СообщитьОбОшибке(
					"Для организации " + Организация + " не ведется регл. учет деятельности, связанной с производством продукции и оказанием услуг.");*/
						//ОтражатьВРегламентированномУчете = Ложь;
					}
				}
			}
			return null;
		}
		// ПолучитьПризнакОтраженияВРегламентированномУчетеДляПроизводственныхДокументов()
		//Процедура управляет доступностью признаков отражения в БУ и НУ в документах в зависимости от реквизита организации ОтражатьВРегламентированномУчете
		//Также процедура может изменять значения реквизитов ОтражатьВБУ и ОтражатьВНУ
		//	Может вызываться из обработчиков формы ПриОткрытии, ОрганизацияПриИзменении
		//Параметры:
		//	Объект - Документ-объект
		//	Форма - форма документа
		//	ИмяОтражатьВБУ - имя элемента формы, связанного с реквизитом ОтражатьВБУ
		//  ИмяОтражатьВНУ - имя элемента формы, связанного с реквизитом ОтражатьВНУ
		//  мОтражатьВРегламентированномУчете - переменная формы, передается в процедуру для изменения.
		//		далее может использоваться в логике формы в индивидуальном порядке для каждого документа.
		//	флИзменятьРеквизитыБУНУ - признак необходимости изменять реквизиты документа ОтражатьвБУ, ОтражатьВНУ
		//		Устанавливается если процедура вызывается при изменении значения организации в документе

		public void УправлениеПризнакомОтраженияВРеглУчете(/*Объект, Форма,ИмяОтражатьВБУ = "ОтражатьВБухгалтерскомУчете",ИмяОтражатьВНУ = "ОтражатьВНалоговомУчете",мОтражатьВРегламентированномУчете,флИзменятьРеквизитыБУНУ=ложь*/)
		{
			//мОтражатьВРегламентированномУчете = Объект.Организация.ОтражатьВРегламентированномУчете;
			if(true/*мОтражатьВРегламентированномУчете*/)
			{
				/*мОтражатьВРегламентированномУчете = ПолучитьПризнакОтраженияВРегламентированномУчетеДляПроизводственныхДокументов(
			Объект.Организация, Объект.Дата, ТипЗнч(Объект));*/
			}
			if(true/*флИзменятьРеквизитыБУНУ или Объект.ЭтоНовый()*/)
			{
				if(true/*мОтражатьВРегламентированномУчете*/)
				{
					//ТекПользователь = глЗначениеПеременной("глТекущийПользователь");
					/*//организация в РУ отражается. Флаги БУ и НУ необходимо установить в соотв. с настройками пользователя по умолчанию
*/
					//Объект.ОтражатьВБухгалтерскомУчете=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВБухгалтерскомУчете");
					if(true/*ИмяОтражатьВНУ<>""*/)
					{
						if(true/*Объект.ОтражатьВБухгалтерскомУчете*/)
						{
							//Объект.ОтражатьВНалоговомУчете = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь, "ОтражатьДокументыВНалоговомУчете");
						}
					}
				}
			}
			//Форма.ЭлементыФормы[ИмяОтражатьВБУ].Доступность = мОтражатьВРегламентированномУчете;
			/*//такого элемента на форме может и не быть
*/
			if(true/*ИмяОтражатьВНУ<>""*/)
			{
				//Форма.ЭлементыФормы[ИмяОтражатьВНУ].Доступность = Объект.ОтражатьВБухгалтерскомУчете;
			}
		}

		public void ОпределитьПредставлениеЭлементовСписка(/*ТипЗначенияЭлементов, СписокИстории, СохранятьСписокИстории*/)
		{
			//МетаданныеТипа = Метаданные.НайтиПоТипу(ТипЗначенияЭлементов);
			if(true/*МетаданныеТипа = Неопределено
		 ИЛИ НЕ(Метаданные.Справочники.Содержит(МетаданныеТипа) 
		 		ИЛИ Метаданные.Документы.Содержит(МетаданныеТипа)
		 		ИЛИ Метаданные.ПланыВидовХарактеристик.Содержит(МетаданныеТипа))*/)
			{
				//СписокИстории.Очистить();
			}
			//ИмяТаблицы = МетаданныеТипа.ПолноеИмя();
			//Запрос = Новый Запрос;
			/*Запрос.Текст = "
	|ВЫБРАТЬ РАЗРЕШЕННЫЕ 
	|	Ссылка КАК Ссылка, 
	|	ПРЕДСТАВЛЕНИЕ(Ссылка) КАК Представление 
	|ИЗ " + ИмяТаблицы + " ГДЕ Ссылка В (&СписокЗначений)";*/
			//Запрос.УстановитьПараметр("СписокЗначений", СписокИстории);
			//Выборка = Запрос.Выполнить().Выбрать();
			//КолвоЭлементовКоллекции = СписокИстории.Количество();
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПЛАНОВ ВИДОВ РАСЧЕТА
		// Предназначена для реализации "произвольного" ввода даты-месяца
		// подбирает по переданному тексту строку-представление даты или список таких строк
		// в переданный параметр ДатаПоТексту возвращает подобранную по тексту дату

		public object ПериодПодобратьПоТексту(/*Текст, Периодичность, ДатаПоТексту = Неопределено*/)
		{
			//СписокВозврата = Новый СписокЗначений;
			//ТекущаяДата		= ОбщегоНазначения.ПолучитьРабочуюДату();
			//ТекущийГод		= Год(ТекущаяДата);
			//ТекущийКвартал	= Цел(Месяц(ТекущаяДата) / 4) + 1;
			//ТекущийМесяц	= Месяц(ТекущаяДата);
			//ТекущаяНеделя	= НеделяГода(ТекущаяДата);
			//ТекущийДень		= День(ТекущаяДата);
			//НачалоГода		= НачалоГода(ТекущаяДата);
			//НачалоМесяца	= НачалоМесяца(ТекущаяДата);
			//КонецГода		= КонецГода(ТекущаяДата);
			if(true/*ПустаяСтрока(Текст)*/)
			{
			}
			if(true/*Найти(Текст, ".") <> 0*/)
			{
				//Подстроки = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Текст, ".");
				//ИспользуемыйРазделитель = ".";
			}
			if(true/*Периодичность = Перечисления.Периодичность.День*/)
			{
				//КонецПериода = День(КонецМесяца(ТекущаяДата));
			}
			if(true/*Подстроки.Количество() = 1 И Периодичность <> Перечисления.Периодичность.Год*/)
			{
				/*// единственное слово - пытаемся получить период
*/
				if(true/*ОбщегоНазначения.ТолькоЦифрыВСтроке(Текст)*/)
				{
					//ПериодЧислом = Число(Текст);
					if(true/*ПериодЧислом >= 1 И ПериодЧислом <= КонецПериода*/)
					{
						if(true/*Периодичность = Перечисления.Периодичность.День*/)
						{
							//ДатаПоТексту = ОбщегоНазначения.ДобавитьИнтервал(НачалоМесяца, Периодичность, ПериодЧислом - 1);
						}
						if(true/*Периодичность = Перечисления.Периодичность.День*/)
						{
							if(true/*СтрДлина(Текст) = 1*/)
							{
								//ФорматированнаяДата	= Формат(ДатаПоТексту, "ДФ=d/MM/yyyy");
							}
						}
						//СписокВозврата.Добавить(ФорматированнаяДата);
					}
				}
			}
			return null;
		}

		public void ПериодАвтоПодборТекста(/*Текст, ТекстАвтоПодбора, Периодичность, СтандартнаяОбработка*/)
		{
			//СтандартнаяОбработка = Ложь;
			//Список = ПериодПодобратьПоТексту(Текст, Периодичность);
			if(true/*Список.Количество() = 1*/)
			{
				//ТекстАвтоПодбора = Список[0].Значение;
			}
		}

		public void ПериодОкончаниеВводаТекста(/*Текст, Значение, Периодичность, СтандартнаяОбработка, ДатаПоТексту = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//Список = ПериодПодобратьПоТексту(Текст, Периодичность, ДатаПоТексту);
			if(true/*Список.Количество() = 1*/)
			{
				//Значение = Список[0].Значение;
			}
		}

		public void УстановитьДоступностьФормыДляРедактирования(/*ДокументОбъект, ФормаДокумента*/)
		{
			if(true/*НЕ ФормаДокумента.ТолькоПросмотр*/)
			{
				//ФормаДокумента.ТолькоПросмотр = НастройкаПравДоступа.ДокументВЗакрытомПериоде(ДокументОбъект);
			}
		}
		// УстановитьДоступностьФормыДляРедактирования
		// Процедура устанавливает доступность кнопки "ЗаполнитьИзТерминалаСбораДанных"
		// в подменю "Заполнить" командной панели "КоманднаяПанельТовары".
		//
		// Параметры:
		//  Форма - Форма документа, в из которого вызвана процедура.
		//  Терминалы - массив доступных терминалов сбора данных.
		//

		public void УстановитьДоступностьКнопкиЗаполнитьИзТерминалаСбораДанных(/*Форма, Терминалы*/)
		{
			//КнопкиКоманднойПанели = Форма.ЭлементыФормы.КоманднаяПанельТовары.Кнопки;
			//КнопкаЗаполнить = КнопкиКоманднойПанели.ПодменюЗаполнить;
			if(true/*Терминалы.Количество() = 0*/)
			{
				//КнопкаЗаполнить.Кнопки.Удалить(КнопкаЗаполнить.Кнопки.ИзТерминалаСбораДанных);
			}
			if(true/*КнопкаЗаполнить.Кнопки.Количество() = 0*/)
			{
				//КнопкиКоманднойПанели.Удалить(КнопкаЗаполнить);
			}
		}
		// УстановитьДоступностьКнопкиЗаполнитьИзТерминалаСбораДанных()
		// Процедура перезапуска сеанса работы с программой

		public void ПерезапуститьСеансРаботыСПрограммой(/**/)
		{
			//глЗапрашиватьПодтверждениеПриЗакрытии = глЗначениеПеременной("глЗапрашиватьПодтверждениеПриЗакрытии");
			if(true/*глЗапрашиватьПодтверждениеПриЗакрытии*/)
			{
				//глЗначениеПеременнойУстановить("глЗапрашиватьПодтверждениеПриЗакрытии", Ложь);
			}
			//ЗавершитьРаботуСистемы(Истина, Истина);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ КОМАНД ГЛАВНОГО МЕНЮ И РАБОЧЕГО СТОЛА
		//Процедура открывает список выбора внешних обработок

		public void ОткрытьСписокВнешнихОбработок(/**/)
		{
			//ВидПеречисления = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка;
			//Форма = Справочники.ВнешниеОбработки.ПолучитьФорму("ФормаСписка",,ВидПеречисления);
			//Форма.СправочникСписок.Отбор.ВидОбработки.Установить(ВидПеречисления);
			//Форма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидОбработки.Доступность = Ложь;
			//Форма.Открыть();
		}
		//Процедура открывает список выбора внешних отчетов

		public void ОткрытьСписокВнешнихОтчетов(/**/)
		{
			//ВидПеречисления = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет;
			//Форма = Справочники.ВнешниеОбработки.ПолучитьФорму("ФормаСписка",,ВидПеречисления);
			//Форма.СправочникСписок.Отбор.ВидОбработки.Установить(ВидПеречисления);
			//Форма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидОбработки.Доступность = Ложь;
			//Форма.Открыть();
		}
		//Процедура открывает список выбора внешних печатных форм

		public void ОткрытьСписокВнешнихПечатныхФорм(/**/)
		{
			//ВидПеречисления = Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма;
			//Форма = Справочники.ВнешниеОбработки.ПолучитьФорму("ФормаСписка",,ВидПеречисления);
			//Форма.СправочникСписок.Отбор.ВидОбработки.Установить(ВидПеречисления);
			//Форма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидОбработки.Доступность = Ложь;
			//Форма.Открыть();
		}
		//Процедура открывает список выбора внешних обработок заполнения табличных частей

		public void ОткрытьСписокВнешнихОбработокЗаполненияТабличныхЧастей(/**/)
		{
			//ВидПеречисления = Перечисления.ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей;
			//Форма = Справочники.ВнешниеОбработки.ПолучитьФорму("ФормаСписка",,ВидПеречисления);
			//Форма.СправочникСписок.Отбор.ВидОбработки.Установить(ВидПеречисления);
			//Форма.ЭлементыФормы.СправочникСписок.НастройкаОтбора.ВидОбработки.Доступность = Ложь;
			//Форма.Открыть();
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ СОХРАНЕНИЯ ОЧИЩАЕМЫХ РЕКВИЗИТОВ ОБЪЕКТА
		// Сохраняет значение реквизита объекта и очищает реквизит.
		//

		public void СохранитьЗначениеРеквизитаФормы(/*ИмяРеквизита, Форма, СтруктураРеквизитов*/)
		{
			if(true/*НЕ Форма.ЭлементыФормы[ИмяРеквизита].Доступность*/)
			{
			}
			//СтруктураРеквизитов.Вставить(ИмяРеквизита, Форма.ЭлементыФормы[ИмяРеквизита].Значение);
			//Форма.ЭлементыФормы[ИмяРеквизита].Значение = ОбщегоНазначения.ПустоеЗначениеТипа(ТипЗнч(Форма.ЭлементыФормы[ИмяРеквизита].Значение));
		}
		// СохранитьЗначениеРеквизита()
		// Восстанавливает значение реквизита объекта.
		//

		public void ВосстановитьЗначениеРеквизитаФормы(/*ИмяРеквизита, Форма, СтруктураРеквизитов*/)
		{
			if(true/*СтруктураРеквизитов.Свойство(ИмяРеквизита)*/)
			{
				//Форма.ЭлементыФормы[ИмяРеквизита].Значение = СтруктураРеквизитов[ИмяРеквизита];
			}
		}
		// ВосстановитьЗначениеРеквизита()
		////////////////////////////////////////////////////////////////////////////////

		public void ВывестиДополненияКОписанию(/**/)
		{
			/*Экспорт
	
	ФормаОбновлений = Обработки.ОбновлениеИнформационнойБазы.ПолучитьФорму();*/
			//ФормаОбновлений.ВывестиМакетОписаниеОбновлений();
			//ФормаОбновлений.Открыть();
		}

		public void ВывестиПредупреждение(/*Текст = "", Заголовок = ""*/)
		{
			//Предупреждение(Текст, , Заголовок);
		}

		public object ЗадатьВопрос(/*ТекстВопроса = "", Режим = "", КнопкаПоУмолчанию = Неопределено, Заголовок = ""*/)
		{
			return null;
		}

		public object ПользовательСогласен(/*ТекстСообщения*/)
		{
			//Возврат ЗадатьВопрос(ТекстСообщения, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да;
			return null;
		}
		// ПользовательСогласенЗаписать
		//Функция возвращает массив недоступных видов операций
		//

		public object ПолучитьМассивНедоступныхВидовОпераций(/**/)
		{
			//МассивНедоступныхВидовОпераций = Новый Массив;
			return null;
		}
	}
}
